0

これは私の弦です。

var id = "timesheet_entries_attributes_0_entry_overtimes_attributes_0_code_id"

質問は、最後のゼロを別の数字に置き換えたいということです。

ゼロの位置は常に変化します。しかし、文字列にはゼロが 2 つしかありません。そして、彼らは一緒にいることはできません。

そのような :

var num = "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 に答える