Menu
Coddy logo textTech

Sous-chaînes avec substr()

Fait partie de la section Logique et flux d’exécution du Journey R de Coddy. Leçon 1 sur 64.

substr(x, start, stop) renvoie les caractères de x de la position start à la position stop, positions incluses. Les positions commencent à 1, comme les index de vecteur.

word <- "programming"
print(substr(word, 1, 7))
print(substr(word, 4, 6))

Sortie :

[1] "program"
[1] "gra"

Pour prendre les caractères à la fin, calculez les positions avec nchar() :

code <- "INV-2024-0042"
n <- nchar(code)
print(substr(code, n - 3, n))

Résultat :

[1] "0042"

Un stop au-delà de la fin est ramené au dernier caractère, et un start supérieur à stop donne une chaîne vide :

print(substr("cat", 2, 10))
print(substr("cat", 3, 1))

Sortie :

[1] "at"
[1] ""

substr() fonctionne sur chaque élément d’un vecteur de caractères en une seule fois :

days <- c("Monday", "Tuesday", "Wednesday")
print(substr(days, 1, 3))

Sortie :

[1] "Mon" "Tue" "Wed"

L’affectation à substr() écrase les caractères sur place. La chaîne conserve sa longueur :

id <- "user-0000"
substr(id, 6, 9) <- "1234"
print(id)

Sortie :

[1] "user-1234"
challenge icon

Défi

Facile

Complétez short_code(city) afin qu’elle renvoie les trois premières lettres de city en majuscules. Pour london, elle renvoie LON.

Le code fourni lit la ville depuis l’entrée et affiche la valeur renvoyée sur sa propre ligne.

Essayez vous-même

short_code <- function(city) {
  # Écrivez votre code ici
  ""
}

# Code d'entrée/sortie fourni : gardez-le tel quel
input <- suppressWarnings(readLines(file("stdin")))
cat(short_code(input[1]), sep = "\n")
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique et flux d’exécution

Entraînez-vous par vous-même : Compilateur R en ligne