Text ersetzen
Teil des Abschnitts Logik und Ablaufsteuerung der R-Journey von Coddy. Lektion 5 von 64.
sub(pattern, replacement, x) ersetzt das erste Vorkommen in jeder Zeichenkette, und gsub() ersetzt jedes Vorkommen. Wie bei grepl() behandelt fixed = TRUE das Muster als einfachen Text.
date <- "2024-01-15"
print(sub("-", "/", date, fixed = TRUE))
print(gsub("-", "/", date, fixed = TRUE))Ausgabe:
[1] "2024/01-15"
[1] "2024/01/15"Das Ersetzen durch eine leere Zeichenfolge löscht die Treffer. Dadurch wird der Text vor der Umwandlung in eine Zahl bereinigt:
price <- "$1,299.00"
clean <- gsub(",", "", sub("$", "", price, fixed = TRUE), fixed = TRUE)
print(clean)
print(as.numeric(clean) * 2)Ausgabe:
[1] "1299.00"
[1] 2598Ohne fixed = TRUE ist das Muster ein regulärer Ausdruck. Zwei nützliche Bestandteile: [0-9] entspricht jeder Ziffer, und + wiederholt das vorangehende Element ein- oder mehrmals, sodass " +" eine Folge von Leerzeichen entspricht.
msg <- "call me at 555 0199"
print(gsub(" +", " ", msg))
print(gsub("[0-9]", "#", msg))Ausgabe:
[1] "call me at 555 0199"
[1] "call me at ### ####"Wie die anderen Zeichenkettenfunktionen arbeiten sub() und gsub() mit jedem Element eines Vektors:
codes <- c("a-1", "b-22", "c-3")
print(gsub("-", "", codes, fixed = TRUE))
print(sub("-[0-9]+", "", codes))Ausgabe:
[1] "a1" "b22" "c3"
[1] "a" "b" "c"Aufgabe
EinfachVervollständige slugify(title). Gib den Titel in Kleinbuchstaben zurück, ohne Leerzeichen am Anfang oder Ende, und ersetze jede Folge von Leerzeichen durch ein einzelnes -: Hello World wird zu hello-world.
Der bereitgestellte Code liest den Titel ein und gibt den zurückgegebenen Wert aus.
Probier es selbst
slugify <- function(title) {
# Schreibe deinen Code hier
title
}
# Mitgelieferter Ein-/Ausgabe-Code: belasse ihn unverändert
input <- suppressWarnings(readLines(file("stdin")))
cat(slugify(input[1]), sep = "\n")
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik und Ablaufsteuerung
1Strings im Detail
Teilstrings mit substr()Formatierung mit sprintf()Aufteilen und VerbindenStrings durchsuchenText ersetzenWiederholung – Benutzernamen-Generator4Matrizen
Matrizen erstellenMatrizen indizierenZusammenfassungen von Zeilen und SpaltenMatrizenarithmetikRückblick – Sitzplan10Fortgeschrittener Kontrollfluss
Die switch()-FunktionVektorisierter ifelse()repeat und breakRekursive FunktionenRückblick – Notenklassifizierung2Schlüssel-Wert-Suchen
Benannte Vektor-SuchenSchlüssel prüfenSchlüssel hinzufügen und entfernenNamen durchlaufenRückblick – Aktienübersicht5Projekt – Notenbuch
Schüler hinzufügenNoten eintragen3Mengen und Zählen
Eindeutige WerteMengenoperationenZugehörigkeitstestsZählen mit table()Rückblick – Gäste einer Veranstaltung6Funktionen als Werte
Anonyme FunktionenFunktionen übergebenFunktionen zurückgebenClosures mit ZustandRückblick – Rabattregeln9Datenrahmen
Datenrahmen erstellenSpalten und ZeilenZeilen filternHinzufügen und SortierenZusammenfassung – Verkaufsbericht12Projekt – Ausgaben-Tracker
Ausgaben erfassenGesamtausgabenÜbe selbstständig: Online-R-Compiler