繁体   English   中英

对于这种特定情况,如何使用 JavaScript 替换字符串中的所有字符:replace 。 经过 _

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM