Как заменить все вхождения «/» в строке на «_» в JavaScript? - PullRequest
8 голосов
/ 29 января 2010

По какой-то причине метод "".replace() заменяет только первое вхождение, а не остальные. Есть идеи?

Ответы [ 4 ]

26 голосов
/ 29 января 2010

Вы должны использовать модификатор g (для глобального) в вашем вызове замены.

str = str.replace(/searchString/g, "replaceWith")

В вашем конкретном случае это будет:

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

Обратите внимание, что вы должны экранировать / в регулярном выражении.

8 голосов
/ 29 января 2010
"Your/string".split("/").join("_")

если вам не требуется мощность RegExp

7 голосов
/ 29 января 2010
str.replace(/\//g,”_”)
0 голосов
/ 15 мая 2013

Попробуйте этот код:

 text = text.replace(new RegExp("textToReplace","g"), "replacemntText")); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...