2012-02-23 44 views
1

我在Twitter的按钮抓住这个陌生的网址了一个对象:此网址的最后一部分

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

我需要的“ html的”,这在例如前拿到最后一部分上面是:spriteslamdunk

这似乎%2Ftopics%2F后出现

不知道如何提取使用jQuery?

[编辑]看起来我必须用正则表达式来做?在这方面与正则表达式没有太大的关系?

+2

http://xkcd.com/208/ – talnicolas 2012-02-23 16:06:27

+0

你想要做基本的字符串操作...你为什么要涉及jQuery? – Quentin 2012-02-23 16:08:20

回答

0

VAR答案= url.substring(url.lastIndexOf( “%2F”)+ 3).replace( “HTML”, “”)

3

我猜你可能需要使用正则表达式"(\w+)\.html$"

+0

(\ w +)在他想保留的部分之前包含2F部分(2Fspriteslamdunk)。 – DaveS 2012-02-23 16:12:17

+0

@DaveS我同意。如果情况总是如此,他总是可以'substring(2)'。 – 2012-02-23 16:25:22

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.