les - vba supprimer espace inutile




Fusionner plusieurs espaces en un seul espace; supprimer les espaces de fin/de début (6)

À cette fin, il n'est pas nécessaire de charger des bibliothèques supplémentaires, car le gsub() du paquet Base r fait le travail.
Pas besoin de se souvenir de ces bibliothèques supplémentaires. Supprimez les espaces blancs de trimws() et de fin avec trimws() et remplacez les espaces blancs supplémentaires à l’aide de gsub() comme indiqué par @Ad Erickson.

    `string = " Hi        buddy        what's up    Bro "
     trimws(gsub("\\s+", " ", string))`

Ici, \\s+ correspond à un ou plusieurs espaces et gsub remplace par un seul espace.

Pour savoir ce que fait une expression régulière, visitez le from mentionné par @Tyler Rinker.
Il vous suffit de copier et de coller l’expression régulière pour savoir ce qu’elle fait et le reste sera fait.

Je souhaite fusionner plusieurs espaces en un seul espace (l'espace pourrait également être une tabulation) et supprimer les espaces de fin / précédant.

Par exemple...

string <- "Hi        buddy        what's up    Bro" 

à

"Hi buddy what's up bro"

J'ai vérifié la solution donnée chez Regex pour remplacer plusieurs espaces par un seul espace . Notez que ne mettez pas \ t ou \ n comme un espace exact dans la chaîne de jouets et ne le nourrissez pas comme motif dans gsub . Je veux que dans R.

Notez que je suis incapable de mettre plusieurs espaces dans la chaîne de jouets. Merci


Cela semble répondre à vos besoins.

string <- "  Hi buddy   what's up   Bro "
library(stringr)
str_replace(gsub("\\s+", " ", str_trim(string)), "B", "b")
# [1] "Hi buddy what's up bro"

Le qdapRegex a la fonction rm_white pour gérer ceci:

library(qdapRegex)
rm_white(string)

## [1] "Hi buddy what's up Bro"

Ou essayez simplement la fonction stringr de stringr

> library(stringr)
> string <- "  Hi buddy   what's up   Bro "
> str_squish(string)
[1] "Hi buddy what's up Bro"

Une autre solution utilisant strsplit:

Fractionner du texte en mots, puis concaténer des mots simples à l’aide de la fonction Coller.

string <- "Hi        buddy        what's up    Bro" 
stringsplit <- sapply(strsplit(string, " "), function(x){x[!x ==""]})
paste(stringsplit ,collapse = " ")

Pour plus d'un document:

string <- c("Hi        buddy        what's up    Bro"," an  example using       strsplit ") 
stringsplit <- lapply(strsplit(string, " "), function(x){x[!x ==""]})
sapply(stringsplit ,function(d) paste(d,collapse = " "))


Vous pouvez également essayer de clean de qdap

library(qdap)
library(stringr)
str_trim(clean(string))
#[1] "Hi buddy what's up Bro"

Ou comme suggéré par @Tyler Rinker (en utilisant seulement qdap )

Trim(clean(string))
#[1] "Hi buddy what's up Bro"




pattern-matching