如何从nodejs中的字符串中获取特殊字符并进行替换



如何从字符串中找到特定的特殊字符并将其替换为unicode\u0026+=\u002B

只替换这些特殊字符:[$,&,+,#]

例如:";你好,詹姆斯(和我一起(\n+++查看&字段4-B+++

我的代码

var char = '+';      
var saa =char.charCodeAt(0);
console.log(saa)
var codeHex = saa.toString(16).toUpperCase();
while (codeHex.length < 4) {
codeHex = "0" + codeHex;
}    
var afteruni = name.replaceAll('+','\u'+codeHex) 
String.prototype.replaceAll = function(search, replacement) {
var target = this;
return target.replace(new RegExp(search, 'g'), replacement);
};

我想要这样的:

"你好,詹姆斯(和我一起(\n\u002B\u002B\u002B参见\u0026字段4-B\u002B\u002B\u002B";

错误:无效的正则表达式:/+/:没有可重复的内容\

您不需要重新定义replaceAll-为什么要这样做?replaceAll已经给你一个正确的回应:

只需更换线路:var afteruni = name.replaceAll('+','\u'+codeHex)

var afteruni = name.replaceAll(/+/g,'\u'+codeHex)

iv在我的电脑上运行它,它正在工作。

最新更新