[英]How to replace all characters in a string using JavaScript for this specific case: replace . by _
JavaScript 中的以下语句按预期工作:
var s1 = s2.replace(/ /gi, '_'); //replace all spaces by the character _
但是,要替换所有出现的字符 . 通过字符_,我有:
var s1 = s2.replace(/./gi, '_');
但结果是一个完全用字符 _ 填充的字符串
为什么以及如何更换 . 通过 _ 使用 JavaScript?
这 。 正则表达式中的字符将匹配所有内容。 你需要转义它,因为你想要一个文字句点字符:
var s1 = s2.replace(/\./gi, '_');
您需要转义点,因为它是正则表达式中的特殊字符
s2.replace(/\./g, '_');
请注意,点不需要在字符类中转义,因此如果您想一次性用下划线替换点和空格,您可以这样做:
s2.replace(/[. ]/g, '_');
在这里以及在您的第一个正则表达式中使用i
标志无关紧要。
您还可以使用字符串代替正则表达式。
var s1 = s2.replace ('.', '_', 'gi')
还有这个也很好用:
var s1 = s2.split(".").join("_"); // Replace . by _ //
如果需要将 " 替换为 " value.replace(/"/g, '\\"')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.