我有以下网址
example.com/p/deals&post_id=3
其中post id是get变量。我想清理url字符串,返回的结果应该是
example.com/p/deals
我一直在尝试使用JavaScript的.replace
,但由于url末尾的get变量,似乎不起作用。我如何构建一个正则表达式来排除这个子字符串。
答案 0 :(得分:3)
这不需要正则表达式。只需split the string并从数组中获取第一个字符串:
var str = "example.com/p/deals&post_id=3";
var san = str.split("&")[0];
答案 1 :(得分:0)
匹配第一个&之后的所有字符。你会使用模式
\&安培;(。*)
并简单地用空字符串替换。
JS将是
var urlString = "example.com/p/deals&post_id=3";
var searchP = "\&(.*)" ;
var replaceP = "" ;
var rEx = new RegExp( searchP, urlString ) ;
var replacedText = sourceText.replace( rEx, replaceP ) ;