JavaScript中的以下语句按预期工作:
var s1 = s2.replace(/ /gi, '_'); //replace all spaces by the character _
但是,要替换所有出现的角色。通过字符_,我有:
var s1 = s2.replace(/./gi, '_');
但结果是一个完全填充了字符_
的字符串为什么以及如何更换。通过_使用JavaScript?
答案 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,'\”')