Заменить все точки на одну - PullRequest
0 голосов
/ 20 сентября 2018

Как заменить

. . . Hello . . . . . . world . . .

на

. Hello . world .

Заменить "точка-точка" просто точкой

Попробовал так:

/(\.\s\.)+/i

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Мы можем сформулировать замену как любую отдельную точку, за которой, в свою очередь, следуют пробел и другая точка, то есть все количество, встречающееся один или несколько раз.То есть мы можем найти следующий шаблон и затем заменить его одной точкой:

\.( \.)+

Пример кода:

var input = ". . . Hello . . . . . . world . . .";
console.log(input);
input = input.replace(/\.( \.)+/g, ".");
console.log(input);

Редактировать:

Мы могли бы сделать рисунок немного более эффективным, отключив захват с помощью ?:, то есть используйте следующеевыкройка:

\.(?: \.)+
0 голосов
/ 20 сентября 2018

Вы можете использовать

/\.(?: \.)+/

Сопоставить точку, затем повторить группу пробелов, за которыми следует период столько раз, сколько это возможно, и заменить все на один период.

const str = '. . . Hello . . . . . . world . . .';
console.log(
  str.replace(/\.(?: \.)+/g, '.')
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...