Raku-Kurs / Reguläre Ausdrücke und Grammatiken / Reguläre Ausdrücke / Captures / Exercises / Zerlegen Sie einen Dateinamen
Lösung: Zerlegen Sie einen Dateinamen
Hier ist eine mögliche Lösung der Aufgabe.
Code
if 'report.txt' ~~ / (\w+) '.' (\w+) / {
say ~$0;
say ~$1;
}🦋 Du findest den Quellcode in der Datei split-filename.raku.
Ausgabe
report
txtKommentare
Das erste Klammerpaar capturt den Grundnamen in
$0, das zweite capturt die Erweiterung in$1. Der Punkt dazwischen steht in Anführungszeichen, damit er einen wörtlichen.trifft und nicht ein beliebiges Zeichen.Das
~vor jedem Capture setzt es in einen Zeichenketten-Zusammenhang, es wird also als blanker Text ausgegeben. Ein schlichtessay $0würde stattdessen das Match-Objekt mit seinen Eckklammern zeigen,「report」.say $0.Strzu schreiben tut dasselbe wiesay ~$0.