Javascript 用另一个字符替换任意数量的字符
使用JavaScript的replace函数如何用同一个字符替换多个字符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(/
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");