Вы хотите получить строку до .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.
http://xkcd.com/208/ – talnicolas
Вы хотите сделать основную обработку строк ... почему бы вы привлекаете JQuery? – Quentin