Javascript 正则表达式将给定字符串中的 'n' 个相同的连续字符减少为单个字符

Javascript regular expression to reduce 'n' same consecutive characters to single character in a given string

例如:

var str = "......43.....DF.67....89...........";
while(str.search(/(..)/g) > -1) {
   str = str.replace(/(..)/g, '.');
}
str = str.replace('.', '-');

输出:-43-DF-67-89-

步骤 01:我正在替换两个 '.' (即 '..')到一个 '.'使用正则表达式。
步骤02:如果不再有两个'.',那么最后我要替换一个'.'带有“-”

但是我需要一步到位,不循环。

您可以转义句点并使用 + 运算符表示一个或多个句点。

var str = "......43.....DF.67....89...........";

str = str.replace(/\.+/g, '-');

console.log(str);