una todos quitar numeros numero los inicio espacios entre eliminar como celda blancos blanco r pattern-matching

todos - Combinar mĂșltiples espacios en un solo espacio; eliminar espacios al final/de cola



quitar espacios en blanco excel 2016 (6)

Quiero fusionar varios espacios en un solo espacio (el espacio también puede ser una pestaña) y eliminar los espacios finales / iniciales.

Por ejemplo...

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

a

"Hi buddy what''s up bro"

Verifiqué la solución dada en Regex para reemplazar múltiples espacios con un solo espacio . Tenga en cuenta que no ponga / t o / n como espacio exacto dentro de la cadena del juguete y aliméntelo como patrón en gsub . Quiero que en R.

Tenga en cuenta que no puedo poner espacio múltiple en la cadena de juguete. Gracias


El qdapRegex tiene la función rm_white para manejar esto:

library(qdapRegex) rm_white(string) ## [1] "Hi buddy what''s up Bro"


Esto parece satisfacer sus necesidades.

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"


No es necesario importar bibliotecas externas para realizar dicha tarea:

string <- " Hi buddy what''s up Bro " string <- gsub("//s+", " ", string) string <- trimws(string) string [1] "Hi buddy what''s up Bro"

O, en una línea:

string <- trimws(gsub("//s+", " ", string))

Mucho más limpio.


O simplemente pruebe la función squish de stringr

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


Otro enfoque utilizando un solo regex:

gsub("(?<=[//s])//s*|^//s+|//s+$", "", string, perl=TRUE)

Explicación ( from )

NODE EXPLANATION -------------------------------------------------------------------------------- (?<= look behind to see if there is: -------------------------------------------------------------------------------- [/s] any character of: whitespace (/n, /r, /t, /f, and " ") -------------------------------------------------------------------------------- ) end of look-behind -------------------------------------------------------------------------------- /s* whitespace (/n, /r, /t, /f, and " ") (0 or more times (matching the most amount possible)) -------------------------------------------------------------------------------- | OR -------------------------------------------------------------------------------- ^ the beginning of the string -------------------------------------------------------------------------------- /s+ whitespace (/n, /r, /t, /f, and " ") (1 or more times (matching the most amount possible)) -------------------------------------------------------------------------------- $ before an optional /n, and the end of the string


También puedes intentar clean desde qdap

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

O como lo sugiere @Tyler Rinker (usando solo qdap )

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