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

相关问题