簡體   English   中英

替換字符串中的單詞

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM