从url中删除最后一个元素

我需要从一个跨度中删除url的最后一部分..

我有

 

我需要使用st_urlst_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的最后一个字符的循环并省略它们,直到看到’/’。 这就是你应该如何提取你想要的东西。 记住这一点并尝试编写代码。