提取留下问号

时间:2011-05-09 20:23:29

标签: c#

是否可以快速获取问号留下的所有内容?

http://blah/blah/?blah

to 

http://blah/blah/

5 个答案:

答案 0 :(得分:8)

 Uri uri = new Uri(@"http://blah/blah/?blah");
 string leftPart = uri.OriginalString.Replace(uri.Query,string.Empty); 

答案 1 :(得分:4)

基本上,您想使用string.Split

string url = @"http://blah/blah/?blah";
var parts = url.Split('?');

string bitToLeftOfQuestionMark = parts[0];

答案 2 :(得分:2)

试试这个:

string httpString = "http://blah/blah/?blah"

int questionMarkLocation = httpString.indexOf('?');

string newString = httpString.Substring(questionMarkLocattion+1);

答案 3 :(得分:2)

看起来你基本上想要获得URI的方案,权限和路径。

您可以使用Uri.GetComponents方法:

var uri = new Uri("http://blah/blah/?blah");
var result = uri.GetComponents(
                     UriComponents.SchemeAndServer | UriComponents.Path,
                     UriFormat.UriEscaped);

//  result == "http://blah/blah/"

答案 4 :(得分:1)

只是提供不同的答案:

var url = "http://blah/blah/?blah";
var leftPart = Regex.Match(url, @"[^?]+").Value;