@Zodtv

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

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

Каждая с новой строки(\n). Помогите со скриптом, который бы убирал лишнее и оставлял только название улицы и номер дома.
  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ответы на вопрос 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
Такой подход позволяет как угодно форматировать данные, но, конечно, работает медленнее.
Ответ написан
Ваш ответ на вопрос

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

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