Страницы

Поиск по вопросам

четверг, 4 апреля 2019 г.

Как удалить символ, который повторяется более N раз?

К примеру есть строка "111111333322" , и N=3. Так вот, вернуть должно 11133322, то есть, я удалил все повторяющиеся элементы после N и оставил кол-во символов равное N.
Такое вообще решить можно с помощью регулярного выражения или нет?


Ответ

var n = 3; var rex = new RegExp("((.)\\2{" + (n-1) + "})\\2+", 'g'); console.log("111111333322".replace(rex, "$1"));
Для двухзначных чисел через пробел:
var n = 3; var rex = new RegExp("(\\b(\\d+)(?: \\2){" + (n-1) + "})(?: \\2)+\\b", 'g'); console.log("23 23 23 23 26 26".replace(rex, "$1")); console.log("23 23 23 230".replace(rex, "$1")); console.log("2 2 2 2 2 230 30 30 30 30 30 0 0 0".replace(rex, "$1")); console.log("2 2 2 2 2".replace(rex, "$1"));

Комментариев нет:

Отправить комментарий