C# 提取问号的左边

C# 提取问号的左边,c#,C#,有没有一种快速的方法可以抓住问号上剩下的所有东西 http://blah/blah/?blah to http://blah/blah/ 基本上,您希望使用string.Split: string url = @"http://blah/blah/?blah"; var parts = url.Split('?'); string bitToLeftOfQuestionMark = parts[0]; 试试这个: string httpString = "http://blah/bl

有没有一种快速的方法可以抓住问号上剩下的所有东西

http://blah/blah/?blah

to 

http://blah/blah/

基本上,您希望使用
string.Split

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

string bitToLeftOfQuestionMark = parts[0];
试试这个:

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

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

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

只需给出一个不同的回答:

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

看起来您基本上想要获取URI的方案、权限和路径

您可以为此使用以下方法:

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

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

这是这行中唯一的“?”吗?请指定您使用的语言。。。例如,javascript、C#、Regex等。问号左边的所有内容都是部分[0]。他正在查找问号之前的部分,即部分[0]。但实际上,他没有说他在用什么语言工作,所以谁知道呢?@“rusty-我发现了-刷新页面”。@ChrisW-yep-大脑的失误。现在更正-问题也被标记为C#,所以这就是我的假设。添加
string remainingString=httpString.Substring(questionMarkLocattion+1)
以获得完整性,您就得到了所需的一切。
var uri = new Uri("http://blah/blah/?blah");
var result = uri.GetComponents(
                     UriComponents.SchemeAndServer | UriComponents.Path,
                     UriFormat.UriEscaped);

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