Страницы

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

воскресенье, 2 февраля 2020 г.

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

#javascript #регулярные_выражения


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

Такое вообще решить можно с помощью регулярного выражения или нет?
    


Ответы

Ответ 1



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"));

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

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