IIIu6ko
@IIIu6ko

Как разрезать строку от одного символа до другого?

Добрый день. Нужно порезать строку "23к1с2" на три части: 23, 1, 2 и засунуть их в объект такого типа:
dom: 23,
corp: 1,
str: 2
Это формат номера дома из яндекс карт. Варианты могут разные: "11Гк2", "23литO", 15c1 и т.д.
Обозначения корпусов, строений и литеров обозначатся строчными буквами. Можно по ним наверное порезать, как вариант.
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
"23к1с2".split(/[а-яй]+/)  // [ "23", "1", "2" ]
"23к1с2".match(/([а-яй]+)/g)  // [ "к", "с" ]


YaParse = (str) => {
  const nums = str.split(/[а-яй]+/)  // [ "23", "1", "2" ]
  const parts = str.match(/([а-яй]+)/g)  // [ "к", "с" ]
  parts.unshift("дом");

  return nums.reduce((acc, c, i) => (acc[parts[i]] = c, acc), {});
}

console.log(YaParse("23к1с2")); // { "дом": "23", "к": "1", "с": "2" }
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
IonDen
@IonDen
JavaScript developer. IonDen.com
Можно несколько раз использовать метод split с разными аргументами.
Ответ написан
Комментировать
Simkav
@Simkav
Я бы сделал так
str.replaceAll(/\D/gm,",")
Ответ написан
Ваш ответ на вопрос

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

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