Remova TODOS os espaços em branco do texto


590
$("#topNav" + $("#breadCrumb2nd").text().replace(" ", "")).addClass("current");

Este é um trecho do meu código. Quero adicionar uma classe a um ID depois de obter a propriedade de texto de outro ID. O problema é o ID que contém o texto que preciso, contém lacunas entre as letras.

Gostaria que os espaços em branco fossem removidos. Eu tentei TRIM()e REPLACE()mas isso funciona apenas parcialmente. O REPLACE()único remove o 1º espaço.

Respostas:


1349

Você deve informar o replace () para repetir a regex:

.replace(/ /g,'')

O caractere g significa repetir a pesquisa por toda a sequência. Leia sobre isso e outros modificadores RegEx disponíveis em JavaScript aqui .

Se você deseja combinar todo o espaço em branco, e não apenas o caractere de espaço literal, use \s:

.replace(/\s/g,'')

30
O Coffeescript reclamará dessa regex por algum motivo terrível. Em vez disso, tive que seguir em frente e usar o .replace(/\s+/g, '')que é totalmente bom para mim.
Dan Bradbury

7
Se você deseja implementar algo como o método string.strip do ruby, que retorna uma cópia da string com o espaço em branco inicial e final removido, isso deve funcionar: x = " Many spaces before and after " y = x.replace(/(^\s+|\s+$)/g, "") O ^\sespaço em branco após o início da string, \s$significa espaço em branco no final do , o |é para / no ou no grupo e o gmodificador é explicado nos comentários acima. Você também precisa de +quantificadores após cada um, \spois deseja capturar uma ou mais instâncias de espaços em branco.
Garrett Simpson

300
.replace(/\s+/, "") 

Substituirá apenas o primeiro espaço em branco , incluindo espaços, tabulações e novas linhas.

Para substituir todo o espaço em branco na cadeia, você precisa usar o modo global

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

11
O primeiro não remove todos os espaços em branco (remove apenas o primeiro grupo de espaço / nova linha / guia), o segundo está OK. demonstração: regex101.com/r/wX8rF2/3

4
.replace (/ \ s + / g, '')
mynameistechno

@mynameistechno A +não acrescenta nada uma vez que já está usando o g(global) modificador
d4nyll

a primeira linha não funcionou como ele di não remover espaços à direita do texto
UKDataGeek

@ d4nyll Pode torná-lo mais eficiente.
Solomon Ucko

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.