我有以下字符串,例如
http://stackoverflow.com/questions/5518282/regex-to-find-all-text-after-delimited-string?3748374731
我想尝试使用正则表达式将所有项目放在?
之后 - 所以我只剩下原始网址了?
我想用javascript做这个吗?
答案 0 :(得分:2)
var url="http://stackoverflow.com/questions/5518282/regex-to-find-all-text-after-delimited-string?3748374731";
var path=url.split("?")[0];
答案 1 :(得分: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('?');
答案 2 :(得分:0)
类似......
function removeParams(url) {
return url.substring(0, url.lastIndexOf('?'));
}
会奏效。它将url的子字符串从0转到问号的最后一次出现并返回它。
答案 3 :(得分:0)
你可以在之前抓住所有角色吗?并且忽略其余的,假设?只发生一次(应该是这种情况,网址中的?应该是url编码的)
^[^?]+
^从字符串的开头匹配。 [^?]表示任何不是问号的东西。 +表示前一个字符类1次或更多次。
您也可以
var s = "http://stackoverflow.com/questions/5518282/regex-to-find-all-text-after-delimited-string?3748374731";
var rawUrl = s.split("?")[0];
答案 4 :(得分:-1)
document.location.origin+document.location.pathname