Como substituir globalmente uma barra em uma string JavaScript?
javascript
Babiker
fonte
fonte
"string".replace('/', 'ForwardSlash', 'g')
mas esse é um argumento não padrão que funciona apenas no Firefox."string".replace(/\//g, 'ForwardSlash');
funciona, mas remova o / g disso e não funciona./
. Sem o g, ele substitui apenas uma instância. E se você remover,/g
interrompa o regex completamente desde o último / é o delimitador final.Use um literal de regex com o
g
modificador e escape da barra com uma barra invertida para que não entre em conflito com os delimitadores.fonte
Sem usar o regex (embora eu faria isso apenas se a string de pesquisa fosse entrada do usuário):
fonte
É isso que voce quer?
fonte
Isso funcionou para mim, transformando-me
"//"
apenas"/"
.fonte
Você precisa quebrar a barra para evitar problemas entre navegadores ou // comentando.
fonte
Oi uma pequena correção no script acima .. script acima pulando o primeiro caractere ao exibir a saída.
fonte
O regex proposto
/\//g
não funcionou para mim; o restante da linha (//g, replacement);
) foi comentado.fonte
Essa é a idéia de Christopher Lincolns, mas com o código correto:
Exemplo de uso:
A substituição global de cadeias Javascript é desnecessariamente complicada. Esta função resolve esse problema. Provavelmente, há um pequeno impacto no desempenho, mas tenho certeza que é insignificante.
Heres uma função alternativa , parece muito mais limpa, mas é em média cerca de 25 a 20% mais lenta que a função acima:
fonte
Você pode criar um
RegExp
objeto para torná-lo um pouco mais legívelSe você deseja substituir todos eles, adicione a
"g"
bandeirafonte