猿问

替换字符串中的单词

我需要替换_New+Delivery这个词;在带有逗号 (',') 的字符串中


示例输入字符串:XP_New+Delivery;HP_New+Delivery;LA_New;


预期输出:XP,HP,LA_New;


但它返回与输出相同的输入,而不是替换任何东西,有什么想法吗?


function myFunction() {

  var str = document.getElementById("demo").innerHTML;

  var res = str.replace(new RegExp('_New+Delivery;', 'gi'), ',');

  document.getElementById("demo").innerHTML = res;

}

<p id="demo">XP_New+Delivery;HP_New+Delivery;LA_New;</p>


<button onclick="myFunction()">Try it</button>


慕斯709654
浏览 144回答 3
3回答

人到中年有点甜

正则表达式中的加号表示“匹配一次和无限次,尽可能多次,根据需要返回”。要按原样使用加号,您需要使用特殊的转义符\。new&nbsp;RegExp('_New\+Delivery;',&nbsp;'gi')但在您的示例中,反斜杠由读取字符串的代码解释,而不是传递给正则表达式解析器。您需要双重转义加号:new&nbsp;RegExp('_New\\+Delivery;',&nbsp;'gi')

慕森王

可能不是完美的方法,但它会起作用。const sampleInput = "XP_New+Delivery;HP_New+Delivery;LA_New;";const result = sampleInput.split('_New+Delivery;').join(',');console.log(result)对于您的问题,请使用以下代码function myFunction() {&nbsp; var str = document.getElementById("demo").innerHTML;&nbsp; var res = str.split('_New+Delivery;').join(',');&nbsp; document.getElementById("demo").innerHTML = res;}<p id="demo">XP_New+Delivery;HP_New+Delivery;LA_New;</p><button onclick="myFunction()">Try it</button>

白衣染霜花

尝试这个:var str = "XP_New+Delivery;HP_New+Delivery;LA_New;";var res = str.replace(/(_New\+Delivery;)/g, ",");console.log(res);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答