Eu tenho strings com espaços em branco extras, cada vez que há mais de um espaço em branco, eu gostaria que fosse apenas um.
Qualquer um? Eu tentei pesquisar no google, mas nada funcionou para mim.
obrigado
javascript
string
trim
véspera
fonte
fonte
Respostas:
Algo assim:
fonte
Você pode aumentar a String para implementar esses comportamentos como métodos, como em:
Agora, agora você pode usar os seguintes formulários elegantes para produzir as seqüências desejadas:
fonte
o uso de uma expressão regular com a função de substituição faz o truque:
fonte
Aqui está uma solução não regex (apenas por diversão):
Ele divide a cadeia de caracteres por espaços em branco , remove todos os itens vazios da matriz (os que eram mais do que um único espaço) e junta todas as palavras novamente em uma cadeia de caracteres, com um único espaço em branco entre elas.
fonte
Presumo que você esteja procurando remover espaços do início e / ou final da string (em vez de remover todos os espaços?
Se for esse o caso, você precisará de uma regex como esta:
Isso removerá todos os espaços do início ou do fim da string. Se você deseja cortar apenas espaços a partir do final, a regex ficaria assim:
Espero que ajude.
fonte
''
vez de' '
.jQuery.trim () funciona bem.
http://api.jquery.com/jQuery.trim/
fonte
Eu sei que não devo necromancia sobre um assunto, mas, dados os detalhes da pergunta, eu geralmente a amplio para significar:
Para isso, uso um código como este (os parênteses no primeiro regexp existem apenas para tornar o código um pouco mais legível ... regexps pode ser uma dor, a menos que você esteja familiarizado com eles):
A razão pela qual isso funciona é que os métodos no objeto String retornam um objeto string no qual você pode invocar outro método (assim como o jQuery e algumas outras bibliotecas). Forma muito mais compacta de codificar se você deseja executar vários métodos em um único objeto em sucessão.
fonte
var x = "Teste Teste Teste" .split ("") .join (""); alerta (x);
fonte
Tente isso.
o resultado será
O que aconteceu aqui é que ele irá aparar os espaços externos primeiro usando e
trim()
depois os espaços internos usando.replace(/\s+/g, ' ')
.fonte
Se você deseja restringir o usuário a fornecer espaço em branco no nome, crie uma instrução if e forneça a condição. como eu fiz:
fonte
Que tal este?
"my test string \t\t with crazy stuff is cool ".replace(/\s{2,9999}|\t/g, ' ')
saídas
"my test string with crazy stuff is cool "
Este se livra de todas as abas também
fonte
\s
. Regex desnecessariamente complexo, pode muito bem apenas escrever/\s+/g
.