К примеру есть строка "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"));
Комментариев нет:
Отправить комментарий