1

例如,我有以下字符串

http://stackoverflow.com/questions/5518282/regex-to-find-all-text-after-delimited-string?3748374731

我想尝试使用正则表达式将所有项目放在?- 所以我只剩下原始 URL 了吗?

我想用 javascript 做到这一点?

4

5 回答 5

3
var url="http://stackoverflow.com/questions/5518282/regex-to-find-all-text-after-delimited-string?3748374731";
var path=url.split("?")[0];
于 2012-10-15T21:31:18.830 回答
0

试一试:

<? $string = 'http://stackoverflow.com/questions/5518282/regex-to-find-all-text-after-delimited-string?3748374731' ;
$string = substr ( $string , 0 , strpos ( $string , '?' ) ) ;
echo $string ;
?>

更新:javascript吧?

几乎一样的事情:

var string = 'http://stackoverflow.com/questions/5518282/regex-to-find-all-text-after-delimited-string?3748374731' ;
string = string.substr(0,string.search('?');
于 2012-10-15T21:28:38.510 回答
0

就像是...

function removeParams(url) {
    return url.substring(0, url.lastIndexOf('?'));
}

会工作。它将 url 的子字符串从 0 到最后一个问号出现并返回它。

于 2012-10-15T21:33:21.333 回答
0

您可以在 ? 并忽略其余的,假设?只发生一次(应该是这样,url中的?应该是url编码的)

^[^?]+

^ 从字符串的开头匹配。[^?] 表示任何不是问号的东西。+ 表示前一个字符类 1 次或多次。

你也可以做

var s = "http://stackoverflow.com/questions/5518282/regex-to-find-all-text-after-delimited-string?3748374731";
var rawUrl = s.split("?")[0];
于 2012-10-15T21:39:49.057 回答
-1

document.location.origin+document.location.pathname

于 2012-10-15T21:30:06.017 回答