Javascript 用另一个字符替换任意数量的字符

Javascript 用另一个字符替换任意数量的字符,javascript,regex,Javascript,Regex,使用JavaScript的replace函数如何用同一个字符替换多个字符 Input = "blah...blah..blah....blah" Output = "blah.blah.blah.blah" 我想到了一个Javascript正则表达式替换,搜索(++)并替换为 差不多 s.replace(/(\.+)/mg,"."); 未经测试,但应足够靠近,以便将您推向正确的方向。祝您好运。在您设置字符的括号之间,例如使用“.”: 所以:用Y中的一个替换任意数量的X s.replace(/

使用JavaScript的replace函数如何用同一个字符替换多个字符

Input = "blah...blah..blah....blah"
Output = "blah.blah.blah.blah"

我想到了一个Javascript正则表达式替换,搜索(++)并替换为

差不多

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

未经测试,但应足够靠近,以便将您推向正确的方向。祝您好运。

在您设置字符的括号之间,例如使用“.”:

所以:用Y中的一个替换任意数量的X

s.replace(/[X]+/gi, 'Y');
如果需要匹配任何重复字符而不仅仅是句点,则可以使用:

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

所以,
blaaaah…blahh…blah…bbblah
变成
blah.blah.blah.blah

它需要是任何字符还是一个特定的字符?实际上,如果要替换所有匹配项,您需要执行
替换(/\.+/g,”)
。否则您会得到
“blah.blah..blah….blah”
。我不确定这一点,但
/\.+/g
可能会提供稍好的性能,因为它不会花费时间用自身替换单个
。不过,在处理字符串时,这可能是一种偏执。
s.replace(/[X]+/gi, 'Y');
input = input.replace(/(.)\1+/g, "$1");