为了账号安全,请及时绑定邮箱和手机立即绑定

替换字符串中的单词

替换字符串中的单词

慕斯709654 2023-07-29 16:36:03
我需要替换_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>
查看完整描述

3 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

正则表达式中的加号表示“匹配一次和无限次,尽可能多次,根据需要返回”。要按原样使用加号,您需要使用特殊的转义符\

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

但在您的示例中,反斜杠由读取字符串的代码解释,而不是传递给正则表达式解析器。您需要双重转义加号:

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


查看完整回答
反对 回复 2023-07-29
?
慕森王

TA贡献1777条经验 获得超3个赞

可能不是完美的方法,但它会起作用。


const sampleInput = "XP_New+Delivery;HP_New+Delivery;LA_New;";

const result = sampleInput.split('_New+Delivery;').join(',');


console.log(result)


对于您的问题,请使用以下代码

function myFunction() {

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

  var res = str.split('_New+Delivery;').join(',');

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

}

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


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


查看完整回答
反对 回复 2023-07-29
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

尝试这个:


var str = "XP_New+Delivery;HP_New+Delivery;LA_New;";

var res = str.replace(/(_New\+Delivery;)/g, ",");


console.log(res);


查看完整回答
反对 回复 2023-07-29
  • 3 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信