Menu
Coddy logo textTech

Substituindo Texto

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

sub(pattern, replacement, x) substitui a primeira ocorrência em cada string, e gsub() substitui todas as ocorrências. Assim como grepl(), fixed = TRUE trata o padrão como texto simples.

date <- "2024-01-15"
print(sub("-", "/", date, fixed = TRUE))
print(gsub("-", "/", date, fixed = TRUE))

Saída:

[1] "2024/01-15"
[1] "2024/01/15"

Substituir por uma string vazia exclui as correspondências. Isso limpa o texto antes de convertê-lo em um número:

price <- "$1,299.00"
clean <- gsub(",", "", sub("$", "", price, fixed = TRUE), fixed = TRUE)
print(clean)
print(as.numeric(clean) * 2)

Saída:

[1] "1299.00"
[1] 2598

Sem fixed = TRUE, o padrão é uma expressão regular. Duas partes úteis: [0-9] corresponde a qualquer dígito, e + repete a parte anterior uma ou mais vezes, então " +" corresponde a uma sequência de espaços.

msg <- "call  me   at 555 0199"
print(gsub(" +", " ", msg))
print(gsub("[0-9]", "#", msg))

Saída:

[1] "call me at 555 0199"
[1] "call  me   at ### ####"

Assim como as outras funções de string, sub() e gsub() funcionam em cada elemento de um vetor:

codes <- c("a-1", "b-22", "c-3")
print(gsub("-", "", codes, fixed = TRUE))
print(sub("-[0-9]+", "", codes))

Saída:

[1] "a1"  "b22" "c3" 
[1] "a" "b" "c"
challenge icon

Desafio

Fácil

Complete slugify(title). Retorne o título em letras minúsculas, sem espaços no início ou no fim, e com cada sequência de espaços substituída por um único -: Hello World torna-se hello-world.

O código fornecido lê o título e imprime o valor retornado.

Experimente você mesmo

slugify <- function(title) {
  # Escreva seu código aqui
  title
}

# Código de entrada/saída fornecido: mantenha-o como está
input <- suppressWarnings(readLines(file("stdin")))
cat(slugify(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