Получить значение из строки

118
27 декабря 2020, 05:10

Есть строка:

Исполнитель - Название трека

Нужно на JS или JQuery получить из строки Исполнитель, но нужно учитывать, что строки могут быть такими:

Исполнитель - Название трека
Исполнитель  Название трека
Исполнитель- Название трека
Исполнитель— Название трека
Исполнитель -Название трека
Исполнитель —Название трека
Исполнитель & Исполнитель - Название трека
Исполнитель & Исполнитель  Название трека
Исполнитель & Исполнитель- Название трека
Исполнитель & Исполнитель— Название трека
Исполнитель & Исполнитель -Название трека
Исполнитель & Исполнитель —Название трека
Также учитывать &&

А если поиск оказался неудачным, то в var выводить всю строку Исполнитель - Название трека

Какие методы позволят осуществить подобное?

Answer 1

split может принимать на вход регулярку, тут подойдет обычное или (/-|—/):

let strings = `Исполнитель00 - Название трека 
Исполнитель1  Название трека 
Исполнитель2- Название трека 
Исполнитель3 Название трека 
Исполнитель4 -Название трека 
Исполнитель5 —Название трека 
Исполнитель6 & Исполнитель12 - Название трека 
Исполнитель7 & Исполнитель13  Название трека 
Исполнитель8 & Исполнитель14- Название трека 
Исполнитель9 & Исполнитель15 Название трека 
Исполнитель0 & Исполнитель16 -Название трека 
Исполнитель11 & Исполнитель17 —Название трека`.split('\n') 
 
strings = strings.map(s => s.split(/-|—/).shift().trim().split(' & ')) 
console.log(strings)

READ ALSO
Резрешить путь к файлу без кавычек - Webpack

Резрешить путь к файлу без кавычек - Webpack

При сборке проекта (Vue-cli 3), ругается Webpack

114
Отправка изображений в теле текста React

Отправка изображений в теле текста React

Пытаюсь отправить данные из input и textarea из React на nodeВ качестве WYSIWYG использую ReactQuill

117
Подключение socket.io к клиентской части

Подключение socket.io к клиентской части

Имею следующий код сервера(работает нормально):

134
Не работает скрипт клик по объекту внутри bxslider

Не работает скрипт клик по объекту внутри bxslider

Есть изображение, по клику на которое должно появляться окно alertИзображение находится внутри слайда bx slider

107