Menu
CoddyTech

Aufteilen und Verbinden

Teil des Abschnitts Logik und Ablaufsteuerung der R-Journey von Coddy. Lektion 3 von 64.

strsplit(x, split) teilt eine Zeichenkette an jedem Trennzeichen. Die Funktion gibt eine Liste mit einem Zeichenvektor pro Eingabezeichenkette zurück. Verwende also [[1]], um die Teile einer einzelnen Zeichenkette zu erhalten.

csv <- "red,green,blue"
parts <- strsplit(csv, ",")[[1]]
print(parts)
print(length(parts))

Ausgabe:

[1] "red"   "green" "blue" 
[1] 3

paste() funktioniert in die andere Richtung. Mit collapse fügt es die Elemente eines Vektors zu einer einzelnen Zeichenkette zusammen, wobei der Text collapse dazwischen steht. sep steht zwischen den Argumenten, Element für Element.

words <- c("one", "two", "three")
print(paste(words, collapse = "-"))
print(paste(words, 1:3, sep = "_"))

Ausgabe:

[1] "one-two-three"
[1] "one_1"   "two_2"   "three_3"

Text aus Eingaben enthält oft Leerzeichen um die Trennzeichen herum. trimws() entfernt die Leerzeichen am Anfang und Ende jedes Elements:

raw <- "  apples , pears,plums  "
items <- trimws(strsplit(raw, ",")[[1]])
print(items)
print(paste(rev(items), collapse = " | "))

Ausgabe:

[1] "apples" "pears"  "plums" 
[1] "plums | pears | apples"

strsplit() auf einem Vektor gibt ein Listenelement pro Zeichenkette zurück, sodass jede Eingabezeile ihre eigenen Teile behält:

lines <- c("a,b", "c,d,e")
parts <- strsplit(lines, ",")
print(length(parts))
print(parts[[2]])

Ausgabe:

[1] 2
[1] "c" "d" "e"
challenge icon

Aufgabe

Einfach

Vervollständige hashtags(line). Die Zeile enthält durch Kommas getrennte Tags, möglicherweise mit Leerzeichen darum. Gib einen String zurück, in dem jedem Tag # vorangestellt ist und die Tags durch einzelne Leerzeichen getrennt sind: r, data ,stats wird zu #r #data #stats.

Der bereitgestellte Code liest die Zeile ein und gibt den zurückgegebenen Wert aus.

Probier es selbst

hashtags <- function(line) {
  # Schreibe hier deinen Code
  line
}

# Vorgegebener Ein-/Ausgabecode: Belasse ihn unverändert
input <- suppressWarnings(readLines(file("stdin")))
cat(hashtags(input[1]), sep = "\n")
quiz iconTeste dich selbst

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

Übe selbstständig: Online-R-Compiler