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"