0%

Werken met tekst · oefening

Handige stringmethoden

In de les over wat er onder de motorkap gebeurt, leerde je dat een methode een functie is die bij een object hoort. Stringobjecten bieden veel methoden. Met een klein groepje daarvan kun je veel alledaagse tekst opschonen.

message = "Hello"
loud_message = message.upper()
print(loud_message)

De uitvoer is HELLO.

Je roept een methode aan op een waarde

De aanroep message.upper() heeft vertrouwde onderdelen:

  • message verwijst naar de string waarop de bewerking wordt uitgevoerd.

  • De punt verbindt die string met een van zijn methoden.

  • upper is de naam van de methode.

  • De haakjes roepen de methode aan.

  • De string in hoofdletters is de teruggegeven waarde.

Je kunt de teruggegeven waarde van een methode opslaan met een toewijzing, net als bij input(), type() of len().

Verander hoofdletters en kleine letters

.upper() geeft een versie in hoofdletters terug:

print("Python Land".upper())

.lower() geeft een versie in kleine letters terug:

print("Python Land".lower())

Deze methoden werken op letters. Spaties, cijfers en gewone leestekens blijven staan.

Verwijder witruimte aan de randen

.strip() verwijdert witruimte, zoals spaties, tabs en regeleinden, aan het begin en einde van een string:

Try it

De vierkante haken maken de spaties aan de randen zichtbaar in de uitvoer.

.strip() verwijdert geen spaties midden in de tekst. "Python Land".strip() blijft "Python Land".

Deze methode is vooral handig bij gebruikersinvoer die ergens vandaan is gekopieerd of per ongeluk extra spaties bevat.

Koppel methoden als het ene resultaat naar de volgende gaat

De methoden in deze les geven strings terug. Op elke teruggegeven waarde kun je dus weer een stringmethode aanroepen. Dat heet method chaining, oftewel methoden aan elkaar koppelen.

Try it

Python verwerkt de gekoppelde expressie in stappen:

  1. raw_answer.strip() geeft "OUTDOOR" terug zonder de spaties aan de randen.

  2. .lower() wordt aangeroepen op die teruggegeven string en levert "outdoor" op.

  3. De uiteindelijke string wordt toegewezen aan clean_answer.

Methoden koppelen is handig als elke stap kort is en de gecombineerde expressie goed leesbaar blijft. Gebruik afzonderlijke variabelen als je een tussenwaarde wilt bekijken of opnieuw wilt gebruiken.

Wat drukt dit programma af?

raw = "  Hello  "
print(raw.strip().upper())

Schoon een titel op en zet hem in hoofdletters

De beginwaarde bevat aan beide kanten spaties.

Vervang de tijdelijke waarden, zodat:

  1. clean_title het resultaat is van .strip() op raw_title;

  2. loud_title het resultaat is van .upper() op clean_title.

De uitvoer moet zijn:

[Python Land]
PYTHON LAND

Laat raw_title ongewijzigd. Sla elke teruggegeven string op in de variabele die hem beschrijft.

Opdracht

Gebruik .strip() om clean_title te maken. Gebruik daarna .upper() op clean_title om loud_title te maken.

Zorg voor deze uitvoer:

[Python Land]
PYTHON LAND