2009-10-07 7 views
0
var src = "http://blah.com/SOMETHING.jpg"; 
src.replace(/.*([A-Z])\.jpg$/g, "X"); 

в этой точке, не должно быть ЦСИ:Javascript заменить не работает, когда он должен

http://blah.com/SOMETHINX.jpg

Если я использую матч() с тем же регулярным выражением, он говорит, что это соответствует. Regex Coach также показывает совпадение с символом «G».

ответ

2

Попробуйте

src = src.replace(/.*([A-Z])\.jpg$/g, "X"); 

Строка # заменяем это не метод мутатор; он возвращает новую строку с модификацией.

EDIT: Отдельно, я не думаю, что regexp - это именно то, что вы хотите. В нем говорится «любое количество символов», за которым следует захваченная группа одного символа A-Z, а затем «.jpg» в конце строки. src становится просто «X».

+0

Beat Jimmy на 10 секунд :) –

+0

@ Daniel - LOL .... –

1

Функция замены не изменяет src.

Я думаю, что вы хотите сделать, это:

src = src.replace(/.*([A-Z])\.jpg$/g, "X"); 
1

src.replace заменит весь матч «http://blah.com/SOMETHING.jpg», а не только часть, которую вы захватили с кронштейнами.

+0

Это в основном виноват в моей неправильной тестовой папке, но +1 для исправления меня на этом в любом случае: P –

Смежные вопросы