GNU R: sub
Erscheinungsbild
Die Funktionen sub()
und gsub()
ersetzen ein Textmuster durch eine andere Zeichenfolge:
R> test <- "Handle so, dass die Maxime Deines als Prinzip einer Gesetzgebung gelten könnte" R> sub("Deines ","Deines Willens ",test) [1] "Handle so, dass die Maxime Deines Willens als Prinzip einer Gesetzgebung gelten könnte" R> test <- "gsub ersetzt im Gegensatz zu sub mehrfach" R> sub("sub","...",test) [1] "g... ersetzt im Gegensatz zu sub mehrfach" R> gsub("sub","...",test) [1] "g... ersetzt im Gegensatz zu ... mehrfach"
sub
und gsub
verstehen sogenannte regexp
-Ausdrücke, die mit ?regexp
eingesehen werden können.
Eine kurze Übersicht darüber:
- . steht für ein beliebiges Zeichen
- * bedeutet, dass das Zeichen links daneben entweder gar nicht oder beliebig oft vorkommen kann
- + bedeutet, dass das Zeichen links daneben entweder einmal oder beliebig oft vorkommen kann, aber nicht gar nicht
- .* entsprechend für eine beliebige Zeichenfolge
- a* steht für beliebig viele "a" (usw.)
- [0-9a-z] eckige Klammern stehen für ein Zeichen, das aus der in den Klammern definierten Menge stammen kann
- ( ) runde Klammern bezeichnen eine Muster, das mit \\1 , \\2 usw. wieder ersetzt werden kann.
R> test <- "Hier fehlen _ einige _ Worte." R> sub("_ (einige) _","noch \\1 wichtige",test) [1] "Hier fehlen noch einige wichtige Worte."