这是我的字符串。
var id = "timesheet_entries_attributes_0_entry_overtimes_attributes_0_code_id"
问题是我想用另一个数字替换最后一个零。
零的位置总是在变化。但是字符串中只有两个零。他们不能在一起。
如:
var num =“2”; ( “timesheet_entries_attributes_0_entry_overtimes_attributes_0_code_id”)代替(/ \ d /,NUM);
但它总是取代第一个零。
SOS!
答案 0 :(得分:1)
id.replace (/(\d+)(?=\D+$)/, '2')
此版本替换字符串中的最后一个数字。
答案 1 :(得分: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;
});
答案 2 :(得分: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);