Cursus Raku / Reguliere expressies en grammatica’s / Reguliere expressies / Captures / Exercises / Initiaal en achternaam

Oplossing: Initiaal en achternaam

Hier is een mogelijke oplossing voor de taak.

Code

if 'J Smith' ~~ / $<initial>=(\w) ' ' $<surname>=(\w+) / {
    say ~$<surname>;
}

🦋 Je kunt de broncode vinden in het bestand initial-and-surname.raku.

Uitvoer

Smith

Opmerkingen

  1. $<initial>=(\w) captureert één woordteken; $<surname>=(\w+) captureert de reeks letters na de spatie.

  2. De achternaam wordt daarna op naam teruggelezen als $<surname>, en het voorvoegsel ~ drukt hem als kale string af; zonder dat zou say $<surname> het matchobject als 「Smith」 tonen.

Cursusnavigatie

Initiaal en achternaam   |   Alternatieven