使用Javascript获取字符串的一部分

时间:2013-07-30 22:00:30

标签: javascript jquery regex

我有一个字符串(来自url中的路径名),我试图将其中一部分删除,但我遇到了麻烦。

这是我到目前为止所做的:

^(/svc_2/pub/(.*?).php)

字符串是:

/svc_2/pub/stats/dashboard.php?ajax=1

如何才能获得仅返回/pub/stats/dashboard的正则表达式?

3 个答案:

答案 0 :(得分:0)

为此,使用正则表达式太多了,但这里是:

var string = "/svc_2/pub/stats/dashboard.php?ajax=1";
console.log(string.replace(/.*(\/pub.*)\.php.*$/,"$1"));

但你可以这样做,没有一个正则表达式,比如

console.log(string.substr(6,string.indexOf(".php")-6));

在这两种情况下,console.log都会为您提供/pub/stats/dashboard

答案 1 :(得分:0)

如果它始终是那种格式(我假设/ svc_2 /总是在那里),那应该这样做。

var s = "/svc_2/pub/stats/dashboard.php?ajax=1";
var match = s.match(/\/svc_2(.+)\./)[1];

但如果之前有任何事情发生,那就不行了。

答案 2 :(得分:0)

这不是很灵活,但应该适用于这种特定情况。

var basedir = '/svc_2/', str = '/svc_2/pub/stats/dashboard.php?ajax=1';
str = str.substring(basedir.length, str.indexOf('.'));
alert(str);