我正在寻找一种使用正则表达式解析URL而不使用queryString的方法。
我的网址是"http://abc.com/csd?/aaa/bbb"
预期与"http://abc.com/csd"
有人帮我这个。
答案 0 :(得分:7)
如果你只想要查询字符串之前的所有内容:
^[^?]+
答案 1 :(得分:2)
您可以使用Substring
和IndexOf
var someString = "http://abc.com/csd?/aaa/bbb";
someString.Substring(0, someString.IndexOf('?') - 1);
虽然这不完全符合您问题中所述的要求,但这可能是一种更简单的方法 - 如果实际实施不需要是RegEx。
答案 2 :(得分:2)
Regex r = new Regex("(^[^?]+)");
Match m = r.Match("http://example.com/csd?/aaa/bbb");
// m.Groups[0].Value is your URL