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">')

Functies op strings

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..."
// reveal.js plugins