2010-11-03 75 views
1

我需要使用javascript提取部分href属性。使用Javascript提取href路径的一部分

我想出了一个解决方案,但我不确定这是最好的方法。以下是我的示例代码。我有一个完整的href路径的变量 - 而我在提取中的所有内容都是“Subcategory-Foobaz”部分。

我可以认为它总是夹在第二个“/”和“?”之间

我对Regex很糟糕,所以我想出了一个看起来像使用2个“splits”的hokie解决方案。

var path = "/Category-Foobar/Subcategory-Foobaz?cm_sp=a-bunch-of-junk-i-dont-care-about"; 
var subcat = path.split("/")[2].split("?")[0]; 
console.log(subcat); 

这太可怕了吗?你会怎么做?

感谢

回答

0
var path = "/Category-Foobar/Subcategory-Foobaz?cm_sp=a-bunch-of-junk-i-dont-care-about"; 
var subcat = path.split("/").pop().split("?")[0]; 
console.log(subcat); 

只是一个小变化;使用pop()获取最后一个元素,不管你在字符串中有多少个/个

+0

聪明又干净 - 谢谢 – rsturim 2010-11-04 02:42:31

0
re  = /\/[^\/]+\/([^?]+)/; 
str  = '/Category-Foobar/Subcategory-Foobaz?cm_sp=a-bunch-of-junk-i-dont-care-about'; 
matches = str.match(re); 
console.log(matches);