Menu
CoddyTech

Dividir y unir

Parte de la sección Lógica y flujo del Journey de R de Coddy. Lección 3 de 64.

strsplit(x, split) corta una cadena en cada separador. Devuelve una lista con un vector de caracteres por cada cadena de entrada, así que usa [[1]] para obtener las partes de una sola cadena.

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

Salida:

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

paste() funciona en sentido contrario. Con collapse, une los elementos de un vector en una sola cadena con el texto de collapse entre ellos. sep va entre los argumentos, elemento por elemento.

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

Salida:

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

El texto de entrada suele tener espacios alrededor de los separadores. trimws() elimina los espacios al principio y al final de cada elemento:

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

Salida:

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

strsplit() en un vector devuelve un elemento de lista por cada cadena, así que cada línea de entrada conserva sus propias partes:

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

Salida:

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

Desafío

Fácil

Completa hashtags(line). La línea contiene etiquetas separadas por comas, posiblemente con espacios alrededor. Devuelve una cadena con cada etiqueta precedida por #, separadas por espacios individuales: r, data ,stats se convierte en #r #data #stats.

El código proporcionado lee la línea e imprime el valor devuelto.

Pruébalo tú mismo

hashtags <- function(line) {
  # Escribe tu código aquí
  line
}

# Código de entrada/salida proporcionado: déjalo tal como está
input <- suppressWarnings(readLines(file("stdin")))
cat(hashtags(input[1]), sep = "\n")
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y flujo

Practica por tu cuenta: Compilador de R online