[英]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.