2012-07-18 81 views

回答

7
input = input.replace(/\.+/g, "."); 
+2

如果你想要替換所有的匹配,你實際上需要'替換(/..//g,「。」)。否則,你會得到''blah.blah..blah .... blah''。 – bhamlin 2012-07-18 18:21:51

+0

@bhamlin好點,謝謝。 – 2012-07-18 18:22:37

+0

我不確定這一點,但'/\.\.+/ g'可能會帶來更好的性能,因爲它不會花時間用自己替換一個'.'。不過,使用字符串時,這可能只是偏執狂。 – dlras2 2012-07-18 18:33:12

0

JavaScript正則表達式替換想到,搜索(+),並與更換。

喜歡的東西

s.replace(/(\.+)/mg,"."); 

未經檢驗的,而應該是足夠接近,讓您在正確的方向推。祝你好運。

0

在您設置字符的括號之間,例如以「」:

var s = "blah ... blah ..."; 
s.replace(/[.]+/gi, '.') 
alert(s); 

所以:其中Y

s.replace(/[X]+/gi, 'Y'); 
2

的一個替代任何數量的X,如果你需要匹配任何重複的字符,而不僅僅是一個時期,你可以使用:

input = input.replace(/(.)\1+/g, "$1"); 

所以blaaaah...blahhh..blah....bbblah成爲blah.blah.blah.blah

相關問題