在一個字符串內部:我需要用另一個數字替換[ ]
之間的數字,用Javascript或jQuery。需要用Javascript或jQuery替換[...]之間的數字
什麼是繼續進行的最佳方式?
Eamples
"[12345].Checked" > "[1].Checked"
"[123].RequestID" > "[21].RequestID"
感謝您的幫助。
在一個字符串內部:我需要用另一個數字替換[ ]
之間的數字,用Javascript或jQuery。需要用Javascript或jQuery替換[...]之間的數字
什麼是繼續進行的最佳方式?
Eamples
"[12345].Checked" > "[1].Checked"
"[123].RequestID" > "[21].RequestID"
感謝您的幫助。
function fixNum(str, newnum) {
return str.replace(/\[\d+\]/,'[' + newnum + ']')
}
使用.replace
:
"[12345].Checked".replace(/\[(\d+)\]/, "[1]") // "[1].Checked"
您的示例不會給出正確的結果 –
@ freedomn-m你是認真的嗎?這是正確的正則表達式。事實上,其他答案具有相同的正則表達式。 –
我沒有說正則表達式是錯誤的 - 我說你的示例是錯誤的 - 鏈接 - 你甚至懶得去試試嗎?使用你的示例,通過測試'[12345] .Checked'和*替換* 1(按照每個問題) - 你得到了什麼? *不*'[1]。檢查'。 –
使用replace
方法來替代
function replaceStr(string,orgText,replaceText){
var res = string.replace(orgText, replaceText);
return res;
}
console.log(replaceStr("[12345].Checked",'12345','1'));
爲什麼在''[12345] .Checked「.replace('12345','1')時引入一個函數;'會更短,而且已經足夠好了解? – putvande
使它更通用化.Beside「[12345] .Checked」還有一個字符串需要替換「[123] .RequestID」>「[21] .RequestID」 – brk
是的,但'replaceStr(「[12345] .checked 「,'12345','1')'佔用更多的字符,而不僅僅是」[12345] .Checked「.replace('12345','1');'你引入一個已經有函數的函數。 – putvande
您是否嘗試過什麼角色?你可以用正則表達式試試'.replace'? – putvande
你也可以使用indexOf,但用正則表達式替換將是更好的解決方案。 – Blady214
是的,但我是一個線索與正則表達式 – Bronzato