Comment faire pour supprimer tous les espaces d'une chaîne de caractères?
Donc " xx yy 11 22 33 "
deviendra "xxyy112233"
. Comment puis-je y parvenir?
Vous devez vous connecter pour publier un commentaire.
Donc " xx yy 11 22 33 "
deviendra "xxyy112233"
. Comment puis-je y parvenir?
Vous devez vous connecter pour publier un commentaire.
En général, nous voulons une solution qui est vectorisée, voici donc un meilleur exemple de test:
La base de R approche:
gsub
gsub
remplace toutes les occurrences d'une chaîne (fixed = TRUE
) ou expression régulière (fixed = FALSE
, la valeur par défaut) avec une autre chaîne. Pour supprimer tous les espaces, utilisation:Comme DWin a noté, dans ce cas
fixed = TRUE
n'est pas nécessaire, mais offre des performances légèrement meilleures depuis correspondance entre une chaîne de caractères fixe est plus rapide que correspondant à une expression régulière.Si vous souhaitez supprimer tous les types d'espaces, utilisation:
"[:space:]"
est un R-spécifique de l'expression régulière correspondant de groupe tous les caractères d'espace.\s
est indépendant de la langue expression régulière qui fait la même chose.La
stringr
approche:str_replace_all
etstr_trim
stringr
offre plus lisible wrappers autour de la base de fonctions R (même si, comme de Décembre 2014, la version de développement est une branche construit sur le haut destringi
, mentionné ci-dessous). Les équivalents des commandes ci-dessus, à l'aide de [str_replace_all][3]
, sont:stringr
a aussi unstr_trim
fonction qui supprime seulement les attaque et de fuite des espaces.La
stringi
approche:stri_replace_all_charclass
etstri_trim
stringi
est construit sur la plate-forme indépendante ICU bibliothèque, et dispose d'un vaste ensemble de fonctions de manipulation de chaîne. Le équivalents de de la ci-dessus sont:Ici
"\\p{WHITE_SPACE}"
est une syntaxe alternative pour l'ensemble des points de code Unicode considérés comme des espaces, l'équivalent de"[[:space:]]"
,"\\s"
etspace()
. Pour les plus complexes des expressions régulières de remplacement, il est égalementstri_replace_all_regex
.stringi
a également fonctions de découpage."[[:space:]]"
et"\\s"
?Je viens d'apprendre sur le "stringr" package afin de supprimer l'espace blanc de début et de fin de chaîne avec str_trim( , côté="les deux"), mais il a également une fonction de remplacement de sorte que:
Veuillez noter que les soultions écrit ci-dessus supprime uniquement l'espace. Si vous souhaitez également supprimer onglet ou une nouvelle utilisation de la marge de
stri_replace_all_charclass
destringi
paquet.stringi
paquet est sur CRAN maintenant, profitez-en! 🙂stringi
depuis quelques mois maintenant et vu ou appris puissant et efficace il est, il est devenu mon package pour les opérations de la chaîne. Vous les gars ont fait un travail impressionnant avec elle.Utilisation
[[:blank:]]
pour correspondre à tout type de horizontal white_space caractères.La fonction
str_squish()
de colisstringr
de tidyverse fait la magie!str_squish
ne pas supprimer tous les espaces. Il vient de garnitures et succédanés de multiples espaces pour.De cette façon, vous pouvez supprimer tous les espaces de toutes les variables de caractères dans votre bloc de données. Si vous préférez choisir seulement quelques-uns des variables, l'utilisation
mutate
oumutate_at
.De stringr de la bibliothèque, vous pouvez essayer ce:
Supprimer remplir
bibliothèque(stringr)