Substituir todos os caracteres de espaço em branco


Respostas:


315

Você quer \s

Corresponde a um único caractere de espaço em branco, incluindo espaço, tabulação, avanço de formulário, avanço de linha.

Equivalente a

[ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]

no Firefox e [ \f\n\r\t\v]no IE .


str = str.replace(/\s/g, "X");

41
+1 para lembrar de mostrar que a replacefunção não é modificada str; portanto, você deve atribuí-la novamente.
FishBasketGordo

1
Em uma função, você pode retornar str.replace, para não precisar atribuir esse escopo.
Steve K

Lembre-se de usar o R perl = TRUE, comogsub(pattern = "[\\s]+", ..., perl = TRUE)
MS Berends

30

\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.

str.replace(/\s/g, "X")

19

Também podemos usar isso se quisermos alterar todos os vários espaços em branco unidos com um único caractere:

str.replace(/\s+/g,'X');

Veja em ação aqui: https://regex101.com/r/d9d53G/1

Explicação

/ \s+/ g

  • \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)

  • Sinalizadores de padrão global
    • modificador g: lobal. Todas as partidas (não retorne após a primeira partida)


4

Se você usar

str.replace(/\s/g, "");

ele substitui todos os espaços em branco. Por exemplo:

var str = "hello my world";
str.replace(/\s/g, "") //the result will be "hellomyworld"

4

Tente o seguinte:

str.replace(/\s/g, "X")

Isso não funciona. \s\n\tcorresponde: qualquer caractere de espaço em branco, seguido por uma nova linha, seguida por tab.
Daniel Cassidy

3

Não / gi mas / g

var fname = "My Family File.jpg"
fname = fname.replace(/ /g,"_");
console.log(fname);

"My_Family_File.jpg"

1

Na verdade, tem sido trabalhado, mas

apenas tente isso.

leve o valor / \ s / g para uma variável de string como

String a = /\s/g;

str = str.replaceAll(a,"X");

de onde você veio replaceAll?
Ionel Lupu

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.