Desejo substituir todas as ocorrências de caracteres de espaço em branco (espaço, guia, nova linha) no JavaScript.
Como fazer isso?
Eu tentei:
str.replace(/ /gi, "X")
javascript
trim
Sourav
fonte
fonte
Respostas:
Você quer
\s
Equivalente a
no Firefox e
[ \f\n\r\t\v]
no IE .fonte
replace
função não é modificadastr
; portanto, você deve atribuí-la novamente.perl = TRUE
, comogsub(pattern = "[\\s]+", ..., perl = TRUE)
\s
é um meta caractere que cobre todo o espaço em branco. Você não precisa fazer distinção entre maiúsculas e minúsculas - o espaço em branco não possui maiúsculas e minúsculas.fonte
Também podemos usar isso se quisermos alterar todos os vários espaços em branco unidos com um único caractere:
Veja em ação aqui: https://regex101.com/r/d9d53G/1
Explicação
\s+
corresponde a qualquer caractere de espaço em branco (igual a[\r\n\t\f\v ]
)+
Quantificador - Corresponde entre uma e várias vezes, quantas vezes for possível, devolvendo o que for necessário (ganancioso)fonte
Você já experimentou o
\s
?fonte
Se você usar
ele substitui todos os espaços em branco. Por exemplo:
fonte
Tente o seguinte:
fonte
\s\n\t
corresponde: qualquer caractere de espaço em branco, seguido por uma nova linha, seguida por tab.Não / gi mas / g
dá
fonte
Na verdade, tem sido trabalhado, mas
apenas tente isso.
leve o valor / \ s / g para uma variável de string como
fonte
replaceAll
?Eu usei o método "slugify" do underscore.string e funcionou como um encanto:
https://github.com/epeli/underscore.string#slugifystring--string
O legal é que você pode realmente importar esse método, não precisa importar a biblioteca inteira.
fonte