2012-06-20 44 views

回答

3

如果URL是一致的,爲什麼不使用:

// Option 1 
var url = "http://mywebsite.com/extractMe/test"; 
var extractedText = url.split("/")[3]; 

​// Option 2 
// If when a trailing slash is present you want to return "test", use this code 
var url = "http://mywebsite.com/extractMe/test/"; 
var urlAry = url.split("/"); 
var extractedText = urlAry[urlAry.length - 2]; 

​// Option 3 
// If when a trailing slash is present you want to return "extractMe", use this: 
var url = "http://mywebsite.com/extractMe/test/"; 
var urlAry = url.split("/"); 
var positionModifier = (url.charAt(url.length-1) == "/") ? 3 : 2;  
var extractedText = urlAry[urlAry.length - positionModifier]; 

這裏的工作小提琴:http://jsfiddle.net/JamesHill/Arj9B/

+0

你怎麼知道的最後,倒數第二等等? – Cranio

+0

@Cranio,你怎麼知道它不是?請閱讀我的答案。 '如果URL是一致的......' –

+0

@Cranio,OP特別要求包裹在'/'中的最後一個單詞.. –

0

這說明無論是像http://mywebsite.com/extractMe/testhttp://mywebsite.com/extractMe/

function processUrl(url) 
{ 
    var tk = url.split('/'); 
    var n = tk.length; 
    return tk[n-2]; 
} 

編輯URLS 。

+0

已編輯。不管怎麼說,還是要謝謝你。 – Cranio

+0

沒問題..刪除評論.. –

+0

這就是現在詹姆斯原來的樣子;) –

0

正則表達式的方法:

var str = "http://example.com/extractMe/test"; 
var match = str.match(/\/([^\/]+)\/[^\/]+$/); 

if (match) { 
    console.log(match[1]); 
} 
1

它的工作原理/或沒有它到底:)

var url = "http://mywebsite.com/extractMe/test/";  
var m = url.match(/\/([^\/]+)[\/]?$/); 

console.log(m[1]); 

輸出: 測試,如果extractMe是