@AlexNew22

Почему split не разбивает строку на строку + число?

Почему не разбивает строку на [user, 100]?
'user100'.split(/d+/g)
  • Вопрос задан
  • 93 просмотра
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Потому что вы просите разбить строку по букве d.
Но даже если добавите бэкслеш, то всё равно нужный результат не получите, так как последовательность '100' станет разделителеми, а разделители в результат не включаются.
Чтобы разделителем был переход с не-цифр на цифры и наоборот можно сделать так:
'user100test'.split(/(?<=\D)(?=\d)|(?<=\d)(?=\D)/g);
// [ "user", "100", "test" ]
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега JavaScript
♬♬
с регулярками можно проще.
Разбить на группы только-буквы или только-цифры:
let re = /((\D+)|(\d+))/g; // \D не-цифра, \d цифра

'user100'.match(re)  // [ "user", "100" ]
'2022habr06QnA'.match(re)  // [ "2022", "habr", "06", "QnA" ]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы