[英]Replace A word In A String
我需要替换 _New+Delivery 这个词; 在带逗号 (',') 的字符串中
示例输入字符串: XP_New+Delivery;HP_New+Delivery;LA_New;
预计 output: XP,HP,LA_New;
但它返回与 output 相同的输入,没有替换任何想法?
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>
可能不是完美的方法,但它会起作用。
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>
正则表达式中的加号表示“匹配一次到无限次,尽可能多次,根据需要回馈”。 要按原样使用加号,您需要使用特殊的\
对其进行转义。
new RegExp('_New\+Delivery;', 'gi')
但在您的示例中,反斜杠由读取字符串的代码解释,而不是传递给正则表达式解析器。 您需要双重转义加号:
new RegExp('_New\\+Delivery;', 'gi')
试试这个:
var str = "XP_New+Delivery;HP_New+Delivery;LA_New;"; var res = str.replace(/(_New\+Delivery;)/g, ","); console.log(res);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.