Javascript 替换字符串中的单词

Javascript 替换字符串中的单词,javascript,regex,string,Javascript,Regex,String,我需要替换“新+交付”一词;在带有逗号(“,”的字符串中 示例输入字符串:XP\u新建+交付;HP_新+交付;拉乌新 预期输出:XP、HP、LA_New 但它返回的是与输出相同的输入,而不是替换任何想法 函数myFunction(){ var str=document.getElementById(“demo”).innerHTML; var res=str.replace(新的RegExp('u new+Delivery;','gi'),','); document.getElementBy

我需要替换“新+交付”一词;在带有逗号(“,”的字符串中

示例输入字符串:
XP\u新建+交付;HP_新+交付;拉乌新

预期输出:
XP、HP、LA_New

但它返回的是与输出相同的输入,而不是替换任何想法

函数myFunction(){
var str=document.getElementById(“demo”).innerHTML;
var res=str.replace(新的RegExp('u new+Delivery;','gi'),',');
document.getElementById(“demo”).innerHTML=res;
}

XP\u新+交付;HP_新+交付;拉乌新


试试看
也许不是完美的方法,但它会奏效

const sampleInput=“XP_New+Delivery;HP_New+Delivery;LA_New;”;
const result=sampleInput.split(''u New+Delivery;')).join(',');
console.log(结果)
尝试以下操作:

var str=“XP_New+Delivery;HP_New+Delivery;LA_New;”;
var res=str.replace(/(_New\+Delivery;)/g,“,”;

控制台日志(res)正则表达式中的加号表示“一次和无限次之间的匹配,尽可能多的匹配,根据需要返回”。要按原样使用加号,您需要使用特殊的
\
将其转义

new RegExp('_New\+Delivery;', 'gi')
但在您的示例中,反斜杠由读取字符串的代码解释,而不是传递给正则表达式解析器。您需要双倍转义加号:

new RegExp('_New\\+Delivery;', 'gi')

+
在RegExp中有一个特殊的含义,您需要避开它,“\+`。。。或者在这个字符串中,您需要
\\+
。。。因此
var res=str.replace(新的RegExp(“'u new\\\+Delivery;”,'gi'),',')
var res=str.replace(/_New\+Delivery;/gi,',')更简洁的代码这是否回答了您的问题?