#javascript
#javascript
Вопрос:
Предположим, у меня есть следующий URL, сохраненный в переменной с именем content
:
http://www.example.com/watch?v=4444444amp;feature=related
Проблема:
- Мне нужно заменить watch?v= с помощью embed/
- Мне нужно стереть все, что приходит после amp;
Конечный результат будет выглядеть следующим образом:
http://www.example.com/embed/4444444
Я попробовал эти два шага, но не сработало:
content = content.replace('/watch?v=/', 'embed/');
content = content.replace('amp;*/g','');
URL-адрес в исходном коде страницы отображается как:
http://www.example.com/watch?v=4444444amp;feature=related
Ответ №1:
У вас много ошибок:
- Вы используете регулярное выражение, когда вам нужна только строка.
- Вы пишете свои регулярные выражения в виде строк.
- Чтобы написать «сопоставлять любые символы», вам нужно написать
'.*'
, а не просто'*'
. Звездочка изменяет предыдущий токен. - Здесь нет необходимости использовать
g
флаг.
Попробуйте это вместо:
content = content.replace('watch?v=', 'embed/').replace(/amp;.*/, '');