Fonctions de manipulation de chaînes
Fait partie de la section Fondamentaux du Journey R de Coddy — leçon 66 sur 78.
Maintenant que vous savez comment diviser des chaînes de caractères en caractères, explorons quelques fonctions essentielles pour travailler avec des chaînes de caractères dans R. Ces fonctions vous aident à mesurer, combiner et transformer des données textuelles.
La fonction nchar() retourne le nombre de caractères dans une chaîne de caractères :
word <- "hello"
print(nchar(word))Sortie :
[1] 5Pour combiner plusieurs chaînes de caractères en une seule, utilisez paste(). Par défaut, elle sépare les éléments par un espace :
result <- paste("Hello", "World")
print(result)Sortie :
[1] "Hello World"Utilisez paste0() lorsque vous ne voulez pas de séparateur entre les chaînes de caractères :
result <- paste0("Hello", "World")
print(result)Sortie :
[1] "HelloWorld"Pour la conversion de casse, R propose toupper() et tolower() :
print(toupper("hello"))
print(tolower("WORLD"))Sortie :
[1] "HELLO"
[1] "world"Ces fonctions deviennent puissantes lorsqu'elles sont combinées aux techniques d'itération que vous avez apprises, vous permettant de traiter et de transformer du texte caractère par caractère ou sous forme de chaînes entières.
Défi
FacileVous recevrez deux lignes d'entrée :
- Un prénom (par exemple,
john) - Un nom de famille (par exemple,
SMITH)
Effectuez les opérations suivantes :
- Convertissez le prénom en majuscules en utilisant
toupper() - Convertissez le nom de famille en minuscules en utilisant
tolower() - Combinez-les en un nom complet en utilisant
paste()(avec un espace entre les deux) - Calculez le nombre total de caractères dans le nom complet (y compris l'espace) en utilisant
nchar() - Créez un nom d'utilisateur en combinant le prénom et le nom de famille sans séparateur en utilisant
paste0(), le tout en minuscules - Affichez le nom complet
- Affichez le nombre de caractères
- Affichez le nom d'utilisateur
Par exemple, si les entrées sont :
alice
WONDERLa sortie devrait être :
[1] "ALICE wonder"
[1] 12
[1] "alicewonder"Explication : Le prénom "alice" devient "ALICE" (majuscules), le nom de famille "WONDER" devient "wonder" (minuscules). Le nom complet "ALICE wonder" compte 12 caractères (y compris l'espace). Le nom d'utilisateur combine les deux noms en minuscules sans séparateur : "alicewonder".
Aide-mémoire
La fonction nchar() renvoie le nombre de caractères d'une chaîne :
word <- "hello"
print(nchar(word)) # Résultat : [1] 5La fonction paste() combine plusieurs chaînes avec un espace comme séparateur par défaut :
result <- paste("Hello", "World")
print(result) # Résultat : [1] "Hello World"La fonction paste0() combine des chaînes sans séparateur :
result <- paste0("Hello", "World")
print(result) # Résultat : [1] "HelloWorld"La fonction toupper() convertit les chaînes en majuscules, et tolower() les convertit en minuscules :
print(toupper("hello")) # Résultat : [1] "HELLO"
print(tolower("WORLD")) # Résultat : [1] "world"Essayez vous-même
# Lire l'entrée
con <- file("stdin", "r")
first_name <- suppressWarnings(readLines(con, n = 1))
last_name <- suppressWarnings(readLines(con, n = 1))
close(con)
# À FAIRE : Écrivez votre code ci-dessous
# 1. Convertir first_name en majuscules en utilisant toupper()
# 2. Convertir last_name en minuscules en utilisant tolower()
# 3. Les combiner dans full_name en utilisant paste()
# 4. Calculer le nombre de caractères en utilisant nchar()
# 5. Créer username en utilisant paste0() (tout en minuscules)
# Afficher les résultats
print(full_name)
print(char_count)
print(username)Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 2
Opérateurs logiques (AND, OR)Opérateurs logiques - Partie 2 (NOT)Récapitulatif - Logique simpleLogique vectorisée - Partie 1Logique vectorisée - Partie 27Calculateur de partage d'addition
Message de bienvenueRécupérer la saisie utilisateur10FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz2Variables et types de données
Type de données numériqueType de données entierType de données caractèreType de données logiqueVérification des types de donnéesConventions de nommageValeurs manquantes : NARécapitulatif - Création de variables8Boucles
Boucle ForBoucle WhileBreakSuivant (Continue)Récapitulatif - FactorielleGénération de séquences (seq, :)Boucles imbriquéesRécapitulatif - Saisie dynamique3Opérateurs, partie 1
Opérateurs arithmétiquesDivision entière et moduloOpérateurs d'affectationRécapitulatif - Mathématiques simplesOpérateurs de comparaison6Entrées/Sorties de base
Affichage avec PrintCat pour l'affichageAffichage avec des variablesLire l'entrée avec readline()Bases de la conversion de typesRécapitulatif - Calculateur d'âgeRécapitulatif - Vrai ou Faux9Fonctions
Déclarer une fonctionArguments de fonctionValeurs de retourRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs de paramètres par défaut12Itération sur les séquences
Itération sur les éléments d'un vecteurUtilisation de seq_along()Itération sur les caractères (strsplit)Fonctions de manipulation de chaînes