#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];