Menu
Coddy logo textTech

Dividindo e Unindo

Parte da seção Lógica e Fluxo do Journey de R da Coddy. Lição 3 de 64.

strsplit(x, split) divide uma string em cada separador. Ela retorna uma lista com um vetor de caracteres para cada string de entrada; portanto, use [[1]] para obter as partes de uma única string.

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

Saída:

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

paste() funciona ao contrário. Com collapse, ele une os elementos de um vetor em uma única string, com o texto de collapse entre eles. sep fica entre os argumentos, elemento por elemento.

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

Saída:

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

O texto de entrada geralmente contém espaços ao redor dos separadores. trimws() remove os espaços no início e no fim de cada elemento:

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

Saída:

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

strsplit() em um vetor retorna um elemento de lista por string, portanto cada linha de entrada mantém suas próprias partes:

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

Saída:

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

Desafio

Fácil

Complete hashtags(line). A linha contém tags separadas por vírgulas, possivelmente com espaços ao redor delas. Retorne uma única string com cada tag prefixada por #, separadas por espaços simples: r, data ,stats torna-se #r #data #stats.

O código fornecido lê a linha e imprime o valor retornado.

Experimente você mesmo

hashtags <- function(line) {
  # Escreva seu código aqui
  line
}

# Código de entrada/saída fornecido: mantenha-o como está
input <- suppressWarnings(readLines(file("stdin")))
cat(hashtags(input[1]), sep = "\n")
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e Fluxo

Pratique por conta própria: Compilador de R online