JavaScript中如何将字符串中所有出现的“/”替换为“_”?

9
由于某些原因,"".replace()方法只替换第一个出现的内容,而不是其他的。有什么想法吗?
4个回答

27

在替换函数中,你需要使用g修饰符(代表全局匹配)。

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

在你的特定情况下,应该是这样的:

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

请注意,您必须转义正则表达式中的/


您可能还需要使用“m”选项来处理多行字符串。 - Eric Wendelin
2
为了更清晰地解决问题: str = str.replace(/\//g, "_"); - Thomas Eding
当您的问题得到解决后,应将其标记为已回答 :) - Cheryl Simon
@illuminatedtiger:不,真的。你应该将它标记为已回答。 - Lightness Races in Orbit

9
"Your/string".split("/").join("_")

如果您不需要使用正则表达式的强大功能


7
str.replace(/\//g,”_”)

有趣的是,这个答案包含了与Mayra原始答案中相同的微软“智能引号”。 - Lightness Races in Orbit
挽救了一天,朋友。 - sg28

0
尝试这段代码:
 text = text.replace(new RegExp("textToReplace","g"), "replacemntText")); 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接