0

这是我的字符串。

var id = "timesheet_entries_attributes_0_entry_overtimes_attributes_0_code_id"

问题是我想用另一个数字替换最后一个零。

零的位置总是变化的。但是字符串中只有两个零。而且他们不能在一起。

如 :

变数=“2”;("timesheet_entries_attributes_0_entry_overtimes_attributes_0_code_id").replace(/\d/,num);

但它总是替换第一个零。

所以!

4

3 回答 3

1
id.replace (/(\d+)(?=\D+$)/, '2')

此版本替换字符串中的最后一个数字。

于 2012-08-10T04:54:27.450 回答
0

只是另一种解决方法:

var id = "timesheet_entries_attributes_0_entry_overtimes_attributes_0_code_id",
    matchIndex = 1,
    replace = 300,
    count = -1;

id = id.replace(/\d+/g, function(number) {
    count++;
    return (count == matchIndex) ? replace : number;
});

演示

于 2012-08-10T04:08:20.303 回答
0
var id = "timesheet_entries_attributes_0_entry_overtimes_attributes_0_code_id";
var num_replace = 5;
id = id.replace(/(\d+.*)\d+/, "$1"+num_replace);
于 2012-08-10T04:08:51.640 回答