Drop links or images here to add them to the editor.

Tot nu toe kon je teksten enkel aan elkaar plakken met het +-teken. Daarnaast bestaan er ook heel wat functies die je op tekstvariabelen (string’s) kan uitvoeren. Net zoals bij de klasse Math roep je zo’n functie op door achter de naam van de variabele een punt te zetten, gevolgd door de naam van de functie. We beperken ons voorlopig tot een paar veelgebruikte mogelijkheden.

Bekijk de onderstaande code. Daarin staat één tekstvariabele eenTekst, en daarop roepen we telkens een andere functie op:

string eenTekst = "Deze variabele bevat een stukje tekst";
Console.WriteLine(eenTekst.Length);
Console.WriteLine(eenTekst.Substring(5, 2));
Console.WriteLine(eenTekst.ToUpper());
Console.WriteLine(eenTekst.ToLower());
Console.WriteLine(eenTekst.IndexOf("va"));
Console.WriteLine(eenTekst.Replace("variabele", "va"));

De tabel hieronder toont voor elke regel wat er getoond wordt, en legt uit wat de functie doet.

FunctieResultaatBeschrijving
eenTekst.Length 37 Geeft de lengte van de tekst (het aantal tekens, spaties inbegrepen).
eenTekst.Substring(5, 2) va Geeft een deel van de tekst terug. De eerste parameter is de startpositie (we beginnen te tellen op 0, dus positie 5 is eigenlijk het 6de teken), de tweede parameter is het aantal tekens.
eenTekst.ToUpper() DEZE VARIABELE BEVAT EEN STUKJE TEKST Zet de hele tekst om naar hoofdletters.
eenTekst.ToLower() deze variabele bevat een stukje tekst Zet de hele tekst om naar kleine letters.
eenTekst.IndexOf("va") 5 Zoekt naar de positie van het eerste voorkomen van de substring "va". Gevonden? Dan krijg je het (nulgebaseerde) indexnummer terug. Niet gevonden? Dan geeft de functie -1 terug.
eenTekst.Replace("variabele", "va") Deze va bevat een stukje tekst Vervangt elke keer dat "variabele" voorkomt door "va".

Tellen begint bij 0

Zowel Substring als IndexOf werken met nulgebaseerde posities: het allereerste teken van een tekst staat op positie 0, het tweede op positie 1, enzovoort. Dat is even wennen, maar het is een patroon dat in bijna elke programmeertaal terugkomt.

TekenDeze(spatie)va...
Positie0123456...

Omdat v op positie 5 staat, geeft eenTekst.IndexOf("va") dus 5 terug, en levert eenTekst.Substring(5, 2) de twee tekens vanaf positie 5 op: va.

Let op met Substring: vraag je meer tekens dan er nog overblijven (of geef je een startpositie die niet bestaat), dan loopt je programma op een fout. Houd er dus rekening mee hoe lang een tekst is voor je er een stuk uit haalt.

Een paar handige combinaties

Functies geven steeds een nieuwe waarde terug; je kan ze dus net als bij Math combineren of het resultaat in een variabele opvangen.

string naam = "ahmed";

// Eerste letter als hoofdletter, rest gewoon
Console.WriteLine(naam.Substring(0, 1).ToUpper());   // A

// De laatste 3 tekens
Console.WriteLine(naam.Substring(naam.Length - 3));  // med

Roep je Substring met één parameter op, dan krijg je alles vanaf die positie tot het einde. Combineer dat met Length om bijvoorbeeld de laatste tekens van een tekst te pakken: naam.Substring(naam.Length - 3) start op het derde teken van achteren.