@Zodtv

Как отсортировать строки?

Есть строки вида
Улица: Московская | Дом: 4
Улица: Западкая | Дом: 5

Каждая с новой строки(\n). Помогите со скриптом, который бы убирал лишнее и оставлял только название улицы и номер дома.
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 1
Shugich
@Shugich
Фронтенд-разработчик
Если я правильно понял, то вот ваше решение:

const data = `
Улица: Московская | Дом: 4
Улица: Западкая | Дом: 5
`;
const cleanedData =  data.replace(/Улица: /g, '').replace(/ \| Дом:/g, '')
Это же на codepen

И еще вариант более навороченный:
const data = `
Улица: Московская | Дом: 4
Улица: Западкая | Дом: 5
`;

// Получаем массив объектов улиц и дмов
const cleanedData = data.replace(/Улица: /g, '').trim().split(/\n/g).map(str => {
  const [ street, house ] = String(str).trim().split(/ \| Дом: /);
  return { street, house };
}); // [ { street: 'Московская', house: '4' }, { street: 'Западная', house: '5' } ];

// Собираем как нам надо
const formatedData = cleanedData.reduce((str, cur) => `${str}\n${cur.street}, ${cur.house}`, '');

console.log(formatedData);
// Московская, 4
// Западкая, 5
Тоже самое на codepen
Такой подход позволяет как угодно форматировать данные, но, конечно, работает медленнее.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы