RegExp (JS) - вырезать адрес из смешанной строки

Подскажите пожалуйста идеи, как из текста, подобного формата

"Апт. пункт № 10 Уфа Вологодская, 34", 
"Аптека № 1 Мелеуз 50 лет ВЛКСМ, 19 а", 
"Аптека № 146, Киргиз-Мияки, Губайдуллина, 122", 
"Аптека № 223 Уфа Пр. Октября, 56 а (Спортивная)" 

вырезать именно адрес ?!


Ответы (1 шт):

Автор решения: EzioMercer

Основная логика в разделении строки с помощью RegExp-а в методе split

Объяснение RegExp-а:

  • Выбираем символ с пробелом -
  • Далее должно быть число хотябы с одной цифрой - \d+
  • После числа быть может есть запятая - ,?
  • После всего этого обязательно должен быть пробел -

const buildsWithAdress = [
  'Апт. пункт № 10 Уфа Вологодская, 34', 
  'Аптека № 1 Мелеуз 50 лет ВЛКСМ, 19 а', 
  'Аптека № 146, Киргиз-Мияки, Губайдуллина, 122', 
  'Аптека № 223 Уфа Пр. Октября, 56 а (Спортивная)'
];

const addresses = buildsWithAdress.map(buildWithAdress => buildWithAdress.split(/№ \d+,? /)[1]);

console.log(addresses);

→ Ссылка