我在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 : " ";
});
这将使用回调进行替换,从而为每个匹配项增加一个计数器,并通过检查该计数器的值将第一个匹配项替换为原始文本。