Javascript替换,忽略第一场比赛

时间:2013-10-28 19:29:07

标签: javascript

我在javascript中有以下脚本

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

当我显示idText1时,它会替换所有下划线并放入它们所在的空间。但是,我试图保留第一个下划线,所以我得到“This_is a test”。这有可能吗?

1 个答案:

答案 0 :(得分:3)

当然可以,这是一个选项:

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

这使用替换的回调为每个匹配增加一个计数器,并通过检查该计数器的值将第一个匹配替换为原始文本。