Python Strings
T. Issaris
1 Februari 2021
Quotes in strings
Fout:
a = "Je bent heel "stoer"."
Python geraakt hier in de war, omdat de " het begin en het einde van de string markeert.
Quotes in strings
Hoe lossen we dit op?
Quotes in strings
Door het “escapen” van de quotes, die we letterlijk willen tonen met behulp van backslashes:
a = "Je bent heel \"stoer\"."
Quotes in strings
Door andere quotes te gebruiken om het begin en einde van de string aan te geven:
a = 'Je bent heel "stoer".'
Quotes in strings
Door driedubbele quotes te gebruiken om het begin en het einde van de string aan te geven:
a = """Je bent heel "stoer"."""
a = '''Je bent heel "stoer".'''
Let op: Dit is ook de manier waarop je “multiline strings” gebruikt.
Multiline strings
Een “gewone” string moet op 1 regel gedefinieerd worden:
ok1 = "Ik eet graag sushi."
ok2 = 'Ik lust ook pizza.'
fout1 = 'Ik
drink
dagelijks
koffie.'
fout2 = "Ik
drink
te veel
koffie."
Multiline strings
Je kan driedubbele quotes te gebruiken om het begin en het einde van een multiline string aan te geven:
ok1 = '''Ik
drink
dagelijks
koffie.'''
ok2 = """Ik
drink
te veel
koffie."""
SVG bestanden
Dus, voor ons SVG bestanden zouden we bijvoorbeeld, enkele quotes kunnen gebruiken voor het markeren van het begin en het einde van de string. Zo kunnen we in de string probleemloos de dubbele quotes gebruiken voor opgeven van waardes voor de rechthoek in het SVG bestand.
bestand.write('<rect x="0" y="10" width="100" height="50">')
len
De lengte van een string:
v = "ab"
l = len(v)
print(l) # 2
v = "abcd"
print(len(v)) # 4
endswith/startswith
Controle op einde van een string:
v = "Frankrijk"
if v.endswith("rijk"):
print("Een rijk")
elif v.endswith("land"):
print("Een land")
# toont: Een rijk
endswith/startswith
Controle op begin van een string:
v = "Mr. Janssens"
if v.startswith("Mr."):
print("man")
elif v.startswith("Mevr."):
print("vrouw")
# toont: man
strip()
Verwijderen van spaties links en rechts:
a = " Limburg "
b = v.strip()
print(a)
# " Limburg "
print(b)
# "Limburg"
strip(x)
Verwijderen van letters links en rechts:
a = "---Limburg---"
b = a.strip("-")
print(a)
# "---Limburg---"
print(b)
# "Limburg"
split()
Omzetten van een string naar lijst van strings:
a = "jan piet joris"
b = a.split()
# b == ["jan", "piet", "joris"]
split(x)
Omzetten van een string naar lijst van strings:
a = "jan;piet;joris"
b = a.split(";")
# b == ["jan", "piet", "joris"]
replace(x, y)
a = "jan piet joris"
b = a.replace("j", "v")
print(a) # "jan piet joris"
print(b) # "van piet voris"
om letters te verwijderen
a = "jan piet joris"
b = a.replace("j", "")
print(a) # "jan piet joris"
print(b) # "an piet oris"
om strings te verwijderen
a = "jan piet jan joris"
b = a.replace("jan ", "")
print(a) # "jan piet jan joris"
print(b) # "piet joris"
join
Omzetten van een lijst naar een string:
a = ["jan", "piet", "joris"]
b = " : ".join(a)
print(b) # "jan : piet : joris"
count(x)
Tellen van letters:
a = "xxx...x...."
b = a.count("x")
print(b) # 4
count(x)
Tellen van woorden:
a = "jan piet joris jan jan"
b = a.count("jan")
print(b) # 3
index
Zoeken van positie van letter:
a = "...xxx...x...."
b = a.index("x")
print(b) # 3
b = a.index("y")
ValueError: substring not found
Foutmelding indien niet gevonden…
find
Zoeken van positie van letter:
a = "...xxx...x...."
b = a.find("x")
print(b) # 3
b = a.find("y")
print(b) # -1
Geen foutmelding maar -1!
find
Zoeken van woorden:
a = "jan piet joris"
b = a.find("joris")
print(b) # 9
upper/lower/title/swapcase
Aanpassen kleine letters, hoofdletters, …
a = "reDDit yeah"
print(a.upper()) # REDDIT YEAH
print(a.lower()) # reddit yeah
print(a.title()) # Reddit Yeah
print(a.swapcase()) # REddIT YEAH
print(a.capitalize()) # Reddit yeah
rjust/ljust
Uitlijnen links of rechts:
a = "5"
print(a.rjust(5)) # " 5"
a = "5"
print(a.rjust(5, "x")) # "xxxx5"
a = "1"
print(a.ljust(4, ".")) # "1..."