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

Get portion of a string using Javascript

本文关键字:一部分 字符串 获取 Javascript 使用      更新时间:2023-09-26

我有一个字符串(来自url中的路径名),我正试图提取其中的一部分,但遇到了问题。

这就是我目前所拥有的:

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

字符串为:

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

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

如果它总是那样的格式(我假设/svc_2/总是在那里),这应该可以。

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

但如果在此之前发生任何事情,就不会发生。

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

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

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

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