从url中删除最后一个元素
我需要从一个跨度中删除url的最后一部分..
我有
我需要使用st_url
并st_url
删除php-web-developer-2
所以它只是http://localhost:8888/careers/
。
但我不知道该怎么做。 php-web-developer-2
并不总是如此,但它不会有任何/
。 它总是一个-
分隔的字符串。
任何帮助!! ??
$('span').attr('st_url', function(i, url) { var str = url.substr(url.lastIndexOf('/') + 1) + '$'; return url.replace( new RegExp(str), '' ); });
DEMO
这很简单:
var to = url.lastIndexOf('/'); to = to == -1 ? url.length : to + 1; url = url.substring(0, to);
用这个。
$('span').attr('st_url', function(i, url) { var to = url.lastIndexOf('/') +1; x = url.substring(0,to); alert(x); })
你可以看到演示
您可以使用正则表达式来解析“最后一个url”:
var url="http://localhost:8888/careers/php-web-developer"; var baseurl=url.replace( new RegExp("(.*/)[^/]+$"), "$1") );
RegExp基本上说:“匹配任何东西,然后斜杠,然后是所有非斜杠,直到字符串的结尾”。
replace函数接受匹配的部分,并将其替换为字符串的“nothing,then a slash”部分。
RegexBuddy有很多关于这一切的信息。
你可以在这里看到它的工作: http : //jsfiddle.net/xKxLR/
var url = "http://localhost:8888/careers/php-web-developer-2"; var regex = new RegExp('/[^/]*$'); console.log(url.replace(regex, '/'));
首先,您需要解析标记。 接下来尝试提取作为您的url的st_url值。 然后使用提取的url的最后一个字符的循环并省略它们,直到看到’/’。 这就是你应该如何提取你想要的东西。 记住这一点并尝试编写代码。