Teilstrings mit substr()
Teil des Abschnitts Logik und Ablaufsteuerung der R-Journey von Coddy. Lektion 1 von 64.
substr(x, start, stop) gibt die Zeichen von x von Position start bis Position stop, einschließlich beider Positionen, zurück. Die Positionen beginnen bei 1, wie bei Vektorindizes.
word <- "programming"
print(substr(word, 1, 7))
print(substr(word, 4, 6))Ausgabe:
[1] "program"
[1] "gra"Um Zeichen vom Ende zu nehmen, berechne die Positionen mit nchar():
code <- "INV-2024-0042"
n <- nchar(code)
print(substr(code, n - 3, n))Ausgabe:
[1] "0042"Ein stop hinter dem Ende wird auf das letzte Zeichen gekürzt, und ein start, das größer als stop ist, ergibt eine leere Zeichenkette:
print(substr("cat", 2, 10))
print(substr("cat", 3, 1))Ausgabe:
[1] "at"
[1] ""substr() funktioniert gleichzeitig für jedes Element eines Zeichenvektors:
days <- c("Monday", "Tuesday", "Wednesday")
print(substr(days, 1, 3))Ausgabe:
[1] "Mon" "Tue" "Wed"Die Zuweisung an substr() überschreibt Zeichen direkt an ihrer Stelle. Die Zeichenkette behält ihre Länge:
id <- "user-0000"
substr(id, 6, 9) <- "1234"
print(id)Ausgabe:
[1] "user-1234"Aufgabe
EinfachVervollständige short_code(city), sodass die ersten drei Buchstaben von city in Großbuchstaben zurückgegeben werden. Für london wird LON zurückgegeben.
Der bereitgestellte Code liest die Stadt aus der Eingabe und gibt den zurückgegebenen Wert in einer eigenen Zeile aus.
Probier es selbst
short_code <- function(city) {
# Schreibe deinen Code hier
""
}
# Mitgelieferter Ein-/Ausgabe-Code: belasse ihn wie er ist
input <- suppressWarnings(readLines(file("stdin")))
cat(short_code(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