Разделить на цифру и сохранить эту цифру в результатах - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть строка, которую я хочу разделить на цифры.Проблема в том, что разделитель должен храниться в массиве результатов.

'A1B2C'.split(/\d/);
// ['A', 'B', 'C']

Я получаю письма только тогда, когда ожидаю цифр, что-то вроде ['A', '1', 'B', '2', 'C'].

Ответы [ 3 ]

0 голосов
/ 17 сентября 2018

Вместо этого вы можете использовать String#match и брать подключенные одинаковые предметы.

console.log('A1BB222C'.match(/\D+|\d+/g));
0 голосов
/ 17 сентября 2018

Размещение группы захвата вокруг регулярного выражения указывает split() сохранить разделители в результате.

console.log('A1B2C'.split(/(\d+)/));

Обратите внимание, что если строка начинается или заканчивается цифрой, это приведет к дополнительному пустому элементу до / после него:

console.log('5A1B2C6'.split(/(\d+)/));

Если это проблема, вы можете отфильтровать их.

console.log('5A1B2C6'.split(/(\d+)/).filter(s => s != ""));
0 голосов
/ 17 сентября 2018

Вам просто нужно использовать сплит.Это должно работать

"a1b2c3".split('');
...