Working with Python
Strings
A set of examples working with strings in Python.
String delimiters
You can use single or double quotes to specify a string in Python, this does not change the interpretation of the string like in PHP.
s1 = 'Single quote'
s2 = "Double quote"
Special characters such as \n
for new line will be converted:
print('String with a \n new line')
>>> String with a
>>> new line
You can also use triple quotes, either single or double, to span multiple lines:
print("""This string
spans multiple
lines""")
>>> This string
>>> spans multiple
>>> lines
Raw strings
If you want a raw string, not interpreted, prefix the string with r
such as:
>>> print(r"This is a raw \n string")
This is a raw \n string
Concatenate strings
Python is flexible in joining strings, you can use the +
operator
s1 = "Hello"
s2 = "World"
s1 + s2
>>> 'HelloWorld'
You can also use the *
operator to repeat a string
s1 = "Repeat"
s1 * 3
>>> 'RepeatRepeatRepeat'
Join a list of strings
You can join together a list of strings by specifying the glue character(s), this is equivalent to PHP's implode function:
>>> letters = ['a', 'b', 'c']
>>> '-'.join(letters)
'a-b-c'
Length of String
Use the len()
function to get the length of a string (or list).
s = "Test String"
len(s)
>>> 11
Check for empty string
You can use the len()
function to check if a string is empty, 0 length. A slightly easier way to check if a string is empty is to use it as the expression, an empty string will return false.
if not a:
print("Empty")
>>> ...
>>> Empty
Check if string exists
Python does not have a contains method, instead you can use in
to check if a string contains a substring:
s = "The dog has brown spots"
if "brown" in s:
print("Yes")
>>> Yes
You can also use not in
to check if a string does not contain a substring:
s = "The dog has brown spots"
if "black" not in s:
print("No black spots")
>>> No black spots
You can also use the .find()
method which will return the index of where the substring is located in the string. If only doing a boolean check I'll just use in
since it's the same for list elements too.
s = "The dog has brown spots"
idx = s.find("brown")
if idx >= 0:
print(f"Found at position: {idx}")
>>> Found at position: 12
String methods
The Python string type has a set of methods defined, see stdtype string methods for full documentation.
💡 Note: To use these methods, they apply to a string type like "this is my string".method()
or with your string assigned to a variable svar.method()
.
Split strings
Python split string on a specific character or word.
s = "a-b-c"
s.split("-")
>>> ['a', 'b', 'c']
String replace
Python string replace use .replace("this", "that")
:
s = "The quick brown fox jumped over the lazy dog"
s.replace("fox", "cat")
>>> 'The quick brown cat jumped over the lazy dog'
Strip characters
To strip characters from a string in Python, use .strip()
if you don't specify any characters it will use whitespace by default, this includes newlines.
' This is my string \n'.strip()
>>> 'This is my string'
To specify your own characters to strip, use .strip("rs")
"srabcdefsrs".strip("rs")
>>> 'abcdef'
There are similar functions, .lstrip()
and .rstrip()
for left and right strip.
String prefix or suffix
To determine if a string contains a certain prefix or suffix, use .startswith()
or .endswith()
s = "prevention"
s.startswith("pre")
>>> True
s.endswith("tion")
>>> True
s.startswith("tion")
>>> False