2012-01-11 2 views
0

Я хочу заменить четыре последних символа изображения.Заменить четыре последних символа в строке

Q1)

Я хочу это:

http://domain.com/image1.jpg 
http://domain.com/image2.png 
http://domain.com/image3.gif 

стать:

http://domain.com/image1-big.jpg 
http://domain.com/image2-big.png 
http://domain.com/image3-big.gif 

Q2)

И тогда я хочу, чтобы быть в состоянии сделать наоборот (удаление -big из имени файла)

Любые предложения для Q1 и Q2?

ответ

2
var str = 'http://domain.com/image1.jpg'; 

// Embiggen 
str.replace(/\.(gif|png|jpg)$/, '-big.$1'); 

// Unbiggen 
str.replace(/-big\.(gif|png|jpg)$/, '.$1'); 

Это немного наивно, но оно должно работать.

+0

Спасибо Alex! Это эффективный способ сделать это (я планирую сделать это на довольно большом количестве изображений). – Hakan

+0

Короткие замены регулярных выражений на коротких струнах в высоко оптимизированной работе в современных JS-двигателях. Согласно JSperf.com, этот фрагмент работает примерно в 1,4 миллиона раз в секунду: http://jsperf.com/isregexsupafast Это достаточно быстро? –

+0

Хехе это достаточно быстро. Спасибо за пояснение: D – Hakan