Menu
Coddy logo textTech

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 al revés. Con collapse, une los elementos de un vector en una sola cadena, colocando el texto de collapse entre ellos. sep se coloca 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, por lo que cada línea de entrada conserva sus propios fragmentos:

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 simples: 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 suministrado: mantenlo 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