Задать вопрос
@badman4235

Как избавиться от повторяющихся цифр в строке?

Есть строка. Надо избавиться от повторяющихся цифр, расположенных подряд. Например:

"abcd111" -> "abcd1"
"aaaa22122bbbb" -> "aaaa212bbbb"
"a8n64m33xxx000x0" -> "a8n64m3xxx0x0"
  • Вопрос задан
  • 263 просмотра
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
str.replace(/(\d)\1+/g, '$1')

// или

''.concat(...str.split(/(\d)\1+/))

// или

Array.from(str).filter((n, i, a) => Number.isNaN(+n) || a[~-i] !== n).join('')

// или

[...str.matchAll(/\D+|(\d)\1*/g)].reduce((acc, n) => acc + (n[1] ?? n[0]), '')
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
let out = "";
for (let i = 0, prev = ""; i < str.length; i++) {
  const c = str.charAt(i);
  if (c === prev  &&  c >= "0"  &&  c <= "9") continue;
  out += (prev = c);
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы