我想在每次使用string.replace()替换一个子字符串时增加一个数字。例如:在javascript中每次替换时增加一个数字
var string = "This is this";
var number = 0;
string.replace("is", "as");
当第一与string.replace是This
数量变为1
,则对于第二个是is
数目变得2
终于为最后是this
数量变为3
。 在此先感谢...! :-)
我想在每次使用string.replace()替换一个子字符串时增加一个数字。例如:在javascript中每次替换时增加一个数字
var string = "This is this";
var number = 0;
string.replace("is", "as");
当第一与string.replace是This
数量变为1
,则对于第二个是is
数目变得2
终于为最后是this
数量变为3
。 在此先感谢...! :-)
您可以将函数传递给.replace()
并返回该值。您还需要使用全局正则表达式来替换所有实例。
var string = "This is this";
var number = 0;
document.body.textContent = string.replace(/is/g, function() {
return ++number;
});
尝试:
var string = "This is this";
var number = 0;
string.replace(/is/g, function() {
number++;
return "as";
});
alert(number);
你的意思是你要算替代? –
您可以使用[函数作为第二个参数](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_function_as_a_parameter)来执行此操作。 – ForguesR
'string.replace(“is”,“as”);'只会替换第一次出现。你打算多次调用'replace'吗? –