2013-02-06 56 views
-1

我想提取URL以在用戶單擊圖像時下載文件。圖像的URL包含文檔的URL爲/Image/_Z_/Catalog_doc.jpg在jQuery中使用正則表達式的字符串操作

然後用戶點擊我所說的jQuery函數fetchAndOpen(this)

在這種方法中,我想建立正確的文件URL即:/Docs/Catalog.doc

所以基本上我的問題是我想要刪除的圖像擴展(.jpg或.png或任何其他)第二件事/_Z_/(這是硬編碼預定義),我想用文檔擴展名替換_.的最後一件事。

是否有任何正則表達式或jQuery的一些簡單的解決方案,可以幫助我,我知道這是可以在JavaScript中很容易做到與substringlastIndexOf方法,但我期待一些事情與jQuery /正則表達式或其他基於jQuery出路。


INPUT:/圖像/ ž /Catalog_doc.jpg - >輸出:/Docs/Catalog.doc

感謝。

+2

樣品輸入/輸出? – nhahtdh

+3

代碼? http://www.whathaveyoutried.com –

+0

INPUT:/Image/_Z_/Catalog_doc.jpg - > OUTPUT:/Docs/Catalog.doc –

回答

0

給定輸入:/圖片/ ž /Catalog_doc.jpg 期待輸出:/Docs/Catalog.doc

我只是打破了過程中的多個步驟,以顯示從你有什麼轉換什麼你要。如果你願意,你可以用正則表達式來做到這一點,但是這個過程很容易繪製出來,並且考慮到它不會作爲一個耗時的過程發生,所以你不必擔心多個步驟的表現。

http://jsfiddle.net/cgEt3/

var input = '/Image/_Z_/Catalog_doc.jpg'; 
var output = input.split('/'); 
output = output[output.length-1]; // get the last part, now output is Catalog_doc.jpg 
var ext = output.lastIndexOf('.'); 
output = output.substring(0, ext); // now just 'catalog_doc'; 
ext = output.lastIndexOf('_'); 
output = output.substring(0, ext) + '.' + output.substring(ext+1); // now 'catalog.doc'; 
output = '/Docs/' + output; 

document.write(output); 
相關問題