javascript正则表达式从字符串中删除子字符串

时间:2013-02-05 11:20:00

标签: javascript regex replace

我有以下网址

example.com/p/deals&post_id=3

其中post id是get变量。我想清理url字符串,返回的结果应该是

example.com/p/deals

我一直在尝试使用JavaScript的.replace,但由于url末尾的get变量,似乎不起作用。我如何构建一个正则表达式来排除这个子字符串。

2 个答案:

答案 0 :(得分:3)

这不需要正则表达式。只需split the string并从数组中获取第一个字符串:

var str = "example.com/p/deals&post_id=3";
var san = str.split("&")[0];

这是a working fiddle

答案 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 ) ;