@Neizvest

Как мне получить сначало число, потом пару букв?

Как мне извлечь из строки (допустим var str = "5смдм") сначала число 5, затем см, а затем дм, и чтобы сохранилась последовательность, тоесть если будет "5дмсм", то сначала извлечется 5, затем дм, а потом см.
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
/**
 * Разбивает строку на три части: цифры, две буквы, две буквы.
 * Возвращает либо массив из трех элементов,
 * либо undefined
 */
function getParts(str) {
  const re = /^(\d+)(\S{2})(\S{2})$/;
  const match = str.match(re);
  if (match) return match.slice(1);
}

getParts("5дмсм") // ["5", "дм", "см"]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
const str = '5smdm';
const pieces = [
    str.slice(0, 1),
    str.slice(1, 3),
    str.slice(3, 5),
]; // [5, cm, dm]
Ответ написан
@baitarakhov
const str = '5smdmasdasda';

var arr = [];

arr.push(parseInt(str));

str2 = str.replace(parseInt(str), '');

const arr2 = str2.match(/[\s\S]{1,2}/g) || [];

arr = arr.concat(arr2);

console.log(arr); // [ 5, 'sm', 'dm', 'as', 'da', 'sd', 'a' ]
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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