簡體   English   中英

JavaScript替換,忽略第一個匹配項

[英]Javascript replace, ignore the first match

我在javascript中有以下腳本

var idText;
var idText1;
idText = "This_is_a_test";
idText1 = idText.replace(/_/g, " ");
alert(idText1);

當我顯示idText1時,它將替換所有下划線並將其放在空格中。 但是,我試圖保留第一個下划線,因此我得到“ This_is a test”。 這有可能嗎?

當然有可能,這是一種選擇:

var n = 0;
idText1 = idText.replace(/_/g, function($0) {
    n += 1;
    return n === 1 ? $0 : " ";
});

這將使用回調進行替換,從而為每個匹配項增加一個計數器,並通過檢查該計數器的值將第一個匹配項替換為原始文本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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