Funções de Manipulação de Strings
Parte da seção Fundamentos do Journey de R da Coddy — lição 66 de 78.
Agora que você sabe como dividir strings em caracteres, vamos explorar algumas funções essenciais para trabalhar com strings em R. Essas funções ajudam você a medir, combinar e transformar dados de texto.
A função nchar() retorna o número de caracteres em uma string:
word <- "hello"
print(nchar(word))Saída:
[1] 5Para combinar várias strings em uma, use paste(). Por padrão, ela separa os elementos com um espaço:
result <- paste("Hello", "World")
print(result)Saída:
[1] "Hello World"Use paste0() quando você não quiser nenhum separador entre as strings:
result <- paste0("Hello", "World")
print(result)Saída:
[1] "HelloWorld"Para conversão de maiúsculas e minúsculas, o R fornece toupper() e tolower():
print(toupper("hello"))
print(tolower("WORLD"))Saída:
[1] "HELLO"
[1] "world"Essas funções se tornam poderosas quando combinadas com as técnicas de iteração que você aprendeu, permitindo que você processe e transforme texto caractere por caractere ou como strings inteiras.
Desafio
FácilVocê receberá duas linhas de entrada:
- Um primeiro nome (ex:
john) - Um sobrenome (ex:
SMITH)
Realize as seguintes operações:
- Converta o primeiro nome para maiúsculas usando
toupper() - Converta o sobrenome para minúsculas usando
tolower() - Combine-os em um nome completo usando
paste()(com um espaço entre eles) - Calcule o número total de caracteres no nome completo (incluindo o espaço) usando
nchar() - Crie um nome de usuário combinando o primeiro nome e o sobrenome sem separador usando
paste0(), tudo em minúsculas - Imprima o nome completo
- Imprima a contagem de caracteres
- Imprima o nome de usuário
Por exemplo, se as entradas forem:
alice
WONDERA saída deve ser:
[1] "ALICE wonder"
[1] 12
[1] "alicewonder"Explicação: O primeiro nome "alice" torna-se "ALICE" (maiúsculas), o sobrenome "WONDER" torna-se "wonder" (minúsculas). O nome completo "ALICE wonder" tem 12 caracteres (incluindo o espaço). O nome de usuário combina ambos os nomes em minúsculas sem separador: "alicewonder".
Folha de consulta
A função nchar() retorna o número de caracteres em uma string:
word <- "hello"
print(nchar(word)) # Saída: [1] 5A função paste() combina múltiplas strings com um espaço como separador por padrão:
result <- paste("Hello", "World")
print(result) # Saída: [1] "Hello World"A função paste0() combina strings sem separador:
result <- paste0("Hello", "World")
print(result) # Saída: [1] "HelloWorld"A função toupper() converte strings para maiúsculas, e tolower() converte para minúsculas:
print(toupper("hello")) # Saída: [1] "HELLO"
print(tolower("WORLD")) # Saída: [1] "world"Experimente você mesmo
# Ler entrada
con <- file("stdin", "r")
first_name <- suppressWarnings(readLines(con, n = 1))
last_name <- suppressWarnings(readLines(con, n = 1))
close(con)
# TODO: Escreva seu código abaixo
# 1. Converta first_name para maiúsculas usando toupper()
# 2. Converta last_name para minúsculas usando tolower()
# 3. Combine-os em full_name usando paste()
# 4. Calcule a contagem de caracteres usando nchar()
# 5. Crie username usando paste0() (tudo em minúsculas)
# Exibir os resultados
print(full_name)
print(char_count)
print(username)Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 2
Operadores Lógicos (AND, OR)Operadores Lógicos Parte 2 (NOT)Recapitulação - Lógica SimplesLógica Vetorizada Parte 1Lógica Vetorizada Parte 27Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo a Entrada do Usuário10FizzBuzz com um Toque Especial
Visão Geral do JogoA Função FizzBuzz2Variáveis e Tipos de Dados
Tipo de Dado NuméricoTipo de Dado InteiroTipo de Dado CaractereTipo de Dado LógicoVerificando Tipos de DadosConvenções de NomenclaturaValores Ausentes: NARecapitulação - Criação de Variáveis8Laços de Repetição
Laço ForLaço WhileBreakNext (Continue)Recapitulação - FatorialGeração de Sequências (seq, :)Laços AninhadosRecapitulação - Entrada Dinâmica3Operadores Parte 1
Operadores AritméticosDivisão Inteira e MóduloOperadores de AtribuiçãoRecapitulação - Matemática SimplesOperadores de Comparação6IO Básico
Saída com PrintCat para SaídaSaída com VariáveisLendo Entrada com readline()Básico de Conversão de TiposRecapitulação - Calculadora de IdadeRecapitulação - Verdadeiro ou Falso9Funções
Declarando uma FunçãoArgumentos de FunçãoValores de RetornoRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores de Parâmetro Padrão12Iterando sobre Sequências
Iterando sobre Elementos de VetoresUsando seq_along()Iterando sobre Caracteres (strsplit)Funções de Manipulação de Strings