Регулярное выражение, которое возвращает конкретное утверждение

1

Я создаю веб-приложение, которое показывает авторов/докладчиков видео.

Проблема в том, что соглашение об именовании видео является " видео-темой - автором видео ".

Я хочу, чтобы автор видео с видео-имени.

Я пытался использовать JavaScript REGEX, но, похоже, он не работает последовательно.

Например: "Добрый Сын", "Дух предательства" | Pst.Evans Kariuki

Я хочу извлечь Pst.Evans Kariuki

Кто-то поможет мне сделать это, спасибо.

  • 1
    Как насчет title.split("|").pop() ? И какова была ваша попытка?
  • 0
    Вы ищете конкретное утверждение или общее утверждение после первого символа канала?
Теги:

3 ответа

3
Лучший ответ

Для этого вам не нужно регулярное выражение. Просто пойдите для split:

const video = "The Good Son , The Spirit of Betrayal | Pst.Evans Kariuki";
const author = video.split("|").pop().trim();
console.log(author);

Или получите оба элемента (название и автор) за один раз:

const video = "The Good Son , The Spirit of Betrayal | Pst.Evans Kariuki";
const [title, author] = video.split("|").map(s => s.trim());
console.log(title);
console.log(author);
  • 0
    Спасибо это сработало
2

Вы можете использовать \|\s*(.*) Чтобы выполнить это. Это регулярное выражение будет соответствовать | буквально, съешьте все пробелы, а затем выберите свой текст с помощью (.*)

const regex = /\|\s*(.*)/;
const str = 'The Good Son , The Spirit of Betrayal | Pst.Evans Kariuki';
let m = regex.exec(str);

console.log(m[1]);
  • 0
    Спасибо это тоже сработало
1

Этот сайт поражает: https://regex101.com/

const regex = /.*\|(.*)/;
const str = 'The Good Son , The Spirit of Betrayal | Pst.Evans Kariuki';

const ret = regex.exec(str);

console.log(ret);
console.log(ret[1].trim());

Изображение 174551

  • 1
    Спасибо это тоже сработало

Ещё вопросы

Сообщество Overcoder
Наверх
Меню