Лучший способ извлечь строку в Javascript

#javascript

Вопрос:

У меня есть строка, которая

xyz.com/test/classified/electronics/home-audio-turntables/amplifiers/new/ .

Я хочу извлечь следующее значение из приведенной выше строки, т. е., /classified/electronics/home-audio-turntables/amplifiers/

Я могу добиться этого с помощью приведенного ниже кода, но есть ли лучший способ, чем этот? Ценю предложения

 window.location.href.split('test')[1].split('/new')[0]
 

Ответ №1:

Регулярное выражение может соответствовать тому, что находится между ними.

 const str = 'xyz.com/test/classified/electronics/home-audio-turntables/amplifiers/new/';

const result = str.match(/test(/.*?/)new/)[1];
console.log(result); 

Или с оглядкой

 const str = 'xyz.com/test/classified/electronics/home-audio-turntables/amplifiers/new/';

const result = str.match(/(?<=test)/.*?/(?=new)/)[0];
console.log(result); 

Комментарии:

1. Спасибо за быстрый ответ. Это именно то, что я искал.

Ответ №2:

Я думаю, что то, что вы ищете, это window.location.pathname

В случае тестирования:

 window.location.pathname.replace(/^(/test)?/, '')
 

Комментарии:

1. Спасибо за быструю помощь. Это дает мне именно то, что я хочу.совпадение(/тест(/.*?/)новый/)[1];