如何使用JavaScript替换此字符串中的所有字符:replace。按_

时间:2010-06-23 15:25:36

标签: javascript regex

JavaScript中的以下语句按预期工作:

var s1 = s2.replace(/ /gi, '_'); //replace all spaces by the character _

但是,要替换所有出现的角色。通过字符_,我有:

var s1 = s2.replace(/./gi, '_');

但结果是一个完全填充了字符_

的字符串

为什么以及如何更换。通过_使用JavaScript?

5 个答案:

答案 0 :(得分:25)

。正则表达式中的字符将匹配所有内容。你需要逃避它,因为你想要一个文字句号:

var s1 = s2.replace(/\./gi, '_');

答案 1 :(得分:6)

你需要逃避点,因为它是正则表达式中的一个特殊字符

s2.replace(/\./g, '_');

请注意,dot不需要在字符类中转义,因此如果您想一次性用下划线替换点和空格,您可以这样做:

s2.replace(/[. ]/g, '_');

使用i标志与此处以及您的第一个正则表达式无关。

答案 2 :(得分:4)

您也可以使用字符串而不是正则表达式。

var s1 = s2.replace ('.', '_', 'gi')

答案 3 :(得分:1)

这也有效:

var s1 = s2.split(".").join("_"); // Replace . by _ //

答案 4 :(得分:0)

如果需要,将“”替换为“ value.replace(/“ / g,'\”')