使用JavaScript正则表达式为字符串每个字符添加反斜杠
给字符串每个字符添加前置反斜杠的解决方案
嘿,这个需求我完全get到了——就是要给字符串里的每一个字符(不管它是不是特殊符号、HTML实体或者其他什么)都在前面加个反斜杠对吧?用JavaScript的replace()方法配合正则就能轻松实现,完全不用假设字符串是“安全的”。
直接可用的代码示例
let str = 'dj%^3&something'; str = str.replace(/(.)/g, '\\$1'); // 此时 str 的值就是: '\d\j\%\^\3\&\s\o\m\e\t\h\i\n\g'
原理说明
- 正则表达式
/(.)/g:(.)会匹配任意单个字符(覆盖字母、数字、符号、HTML实体字符等所有情况),g是全局匹配标志,确保不会只处理第一个字符,而是遍历整个字符串。 - 替换字符串
'\\$1':\\是JavaScript里转义后的单个反斜杠(因为反斜杠在字符串中本身需要转义),$1对应正则捕获到的每一个字符,两者结合就实现了“给每个字符加前置反斜杠”的效果。
这个方法不管字符串里有没有特殊字符都能完美工作,完全符合你的需求。
内容的提问来源于stack exchange,提问作者John James
相关产品推荐
相关产品推荐

