我从Twitter按钮中的对象中抓取这个奇怪的URL:
我需要在'.html'之前得到最后一部分,在上面的示例中是:spriteslamdunk
这似乎出现在%2Ftopics%2F
之后不确定如何使用jQuery提取它?
[编辑]看起来我必须使用正则表达式吗?在这方面没有对Regex做过多少工作?
答案 0 :(得分:3)
我猜你可能不得不使用正则表达式"(\w+)\.html$"
答案 1 :(得分:0)
var answer = url.substring(url.lastIndexOf(“%2F”)+ 3).replace(“。html”,“”)
答案 2 :(得分:0)
您希望在.html
之前和%2F
的最后一次出现之后检索字符串。
您可以使用正则表达式/%2F([^%]+?)(\.html$)/
。 \.html$
匹配上次出现之前的字符串; ([^%]+?)
部分匹配最短的字符串,该字符串不包括%
,而.html
之前是您要检索的内容; %2F
在匹配项中排除此字符串。
var str = "http://platform.twitter.com/widgets/tweet_button.1329950604.html#_=1330013339435&count=none&hashtags=allstar&id=twitter-widget-10&lang=en&original_referer=http%3A%2F%2Fwww.nba.com%2Fpulse%2Fallstar%2F2012%2Findex.html&related=%40nba&size=m&text=Sprite%20Slam%20Dunk%20Contest%20is%20trending%20on%20NBA%20All-Star%20Pulse%20&url=http%3A%2F%2Fwww.nba.com%2Fpulse%2Fallstar%2F2012%2Ftopics%2Fspriteslamdunk.html"
var matches = str.match(/%2F([^%]+?)(\.html$)/)
matches
// => ["%2Fspriteslamdunk.html", "spriteslamdunk", ".html"]
matches[1] // What you want.