2013-10-03 78 views
1

我想在widget-cadr_testimonials[1][slides][0][slide_title]jQuery的正則表達式

var patt1=/\d+/g;更換0 //此函數返回兩個整數發現1.0至我只需要0和要替換它

var str="widget-cadr_testimonials[1][slides][0][slide_title]"; 
var patt1=/\d+/g; 
document.write(str.match(patt1)); 
+1

你想要什麼用它來代替它? –

+0

莫非串也有'插件-cadr_testimonials [0] [幻燈片] [0] [SLIDE_TITLE]'?或者是安全的假設一個'0' – SmokeyPHP

回答

3
str.replace(/\d+([^\d]+)$/,'x$1');//Where 'x' is your replacement 

只得到匹配的號碼,您可以調試:

str.match(/(\d+)[^\d]+$/)[1] 

或者,如果你想更具體的瞭解文本兩側:

str.replace(/\[\d+\](\[slide_title)/,'[x]$1') 
+1

你的回答比我的新的更快更完全,因爲它也不會正確更換。我刪除了我的這個。 –

2

如果你真的只要在特定的字符串替換隻有0,你爲什麼不這樣做:

var str="widget-cadr_testimonials[1][slides][0][slide_title]".replace("0", "x"); 

(其中x是要替換的0瓦特什麼第i)

+0

,因爲第二個整數匹配是動態的,它永遠是其他值 所以我需要得到第二場比賽,並更換 – Masteryo

+3

啊,我明白了。請在提問時嘗試儘可能完整,我們無法讀懂你的想法;)。我會發佈一個新的答案。字符串的其餘部分保持不變? –

+0

對不起我的英語不好,是該字符串的其餘部分保持相同 – Masteryo