我創建的功能與1正則表達式替換文件名
樣品增加一個文件名的最後一個號碼的最後一個號碼:
filename01.jpg => filename02.jpg
file01name01.jpg => file01name02.jpg
file01na01me.jpg => file01na02me.jpg
我掙扎原始文件名包含相同編號兩次或更多次的情況。我只想增加文件名中的最後一個數字。
我已經做了一些研究,但沒能找到正確的正則表達式。也許有人可以幫助我。
理想我想我的代碼看起來是這樣的:
var filename = "somefilename";
var newFilename = filename.replace(regex,lastNumber + 1);
我不知道這是否可以做這個簡單的。但在我繼續之前,我需要弄清楚這個正則表達式。
感謝pivmvb,這裏是我的最終解決方案:
function getIncreasedFileName(fileName){
var newFileName = fileName.replace(/(\D+)(\d+)(\D+)$/,
function(str, m1, m2, m3) {
var newstr = (+m2 + 1) + "";
return m1 + new Array(m2.length+1 - newstr.length).join("0") + newstr + m3;
})
return newFileName;
}
如果現有文件名爲filename99.jpg,您是否想要打破兩位數前導零數字格式? – nnnnnn
filename.match(/(\ d +)[^ \ d] + $ /)[1]? –