regex - JavaScript .replace substitui apenas a primeira correspondência
var textTitle = "this is a test"
var result = textTitle.replace(' ', '%20');
Mas as funções de substituição param na primeira ocorrência de " " e eu obtenho o
Resultado: "this%20is a test"
Alguma ideia de onde estou errando? Tenho certeza de que é um conserto simples.
Resposta #1
Você precisa de um /g ali, assim:
var textTitle = "this is a test";
var result = textTitle.replace(/ /g, '%20');
console.log(result);Você pode brincar com isso aqui, o comportamento padrão do .replace() é substituir apenas a primeira correspondência, o modificador /g (global) indica para substituir todas as ocorrências.
Resposta #2
textTitle.replace(/ /g, '%20');
