Как распарсить данную строку?

с API приходит такая строка: [category1]https://example.com/1 or https://example.ru/1, [category2]https://example.com/2 or https://example.ru/2 Можно ли её как-то распарсить или превратить в объект? Что можете посоветовать? Можно даже не обращать внимания на "or", но в приоритете ссылка, идущая после "or".


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

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

Так подойдёт?

const str = '[category1]https://example.com/1 or https://example.ru/1, [category2]https://example.com/2 or https://example.ru/2';

const links = str.split(', ').reduce(
  (acc, item) => {
    const [_, category, url1, url2] = item.match(/\[(.+?)\](.+?) or (.+)/);
    acc[category] = [url1, url2];
    return acc;
  },
  {}
);

console.log(links);

→ Ссылка