我想在javascript中使用替換語句,以便最終我可以創建一個數組當前在字符串中傳遞的一些數據。javascript .replace()方法不能正常工作
我有以下的javascript:
console.log('data from server:' + server_rule_segements);
//remove trailing ~
server_rule_segements = server_rule_segements.substring(0,server_rule_segements.length-2); // stripping off trailing ~,
console.log("1 - " + server_rule_segements);
server_rule_segements = server_rule_segements.replace("~,,", "~");
console.log("2 - " + server_rule_segements);
下面是在控制檯的結果:
data from server:Home Number,1234,1,no~,,Work Number,12342342,1,no~,,Work Number,12344412341234,1,no~,
1 - Home Number,1234,1,no~,,Work Number,12342342,1,no~,,Work Number,12344412341234,1,no
2 - Home Number,1234,1,no~Work Number,12342342,1,no~,,Work Number,12344412341234,1,no
什麼我不知道爲什麼是替換命令沒有替換的所有實例「 〜,,「。 正如你可以在第二個調試語句中看到的那樣,那裏還有一個..我稱之爲「記錄2」。我敢肯定這件事很簡單,我錯過了......但我現在看不到它。
正如我測試,我改變了代碼,這樣,我稱之爲替代方法兩次,像這樣:
server_rule_segements = server_rule_segements.replace("~,,", "~");
server_rule_segements = server_rule_segements.replace("~,,", "~");
,然後它的作品。 但我認爲我不應該這樣做。
可能是〜或逗號是特殊字符。嘗試'替換(「\〜\,\,」,「\〜」),看看是否有效。 – 2013-10-02 19:51:31
如果第一個參數是帶有'g'修飾符的正則表達式,'replace'只會替換所有出現的事件。如果它是一個字符串,它只是一個替代品。 – Barmar