摘录问号的左侧

本文关键字: | 更新日期: 2023-09-27 17:55:34

有没有一种快速的方法可以抓住问号剩下的所有内容?

http://blah/blah/?blah
to 
http://blah/blah/

摘录问号的左侧

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

基本上,你想使用string.Split

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

看起来你本质上想要获取 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/"

试试这个:

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;

利用GetLeftPart UriPartial.Path

包括原始 URI 中直至查询或片段分隔符的任何分隔符。

uri.GetLeftPart(UriPartial.Path)

相关文章:
  • 没有找到相关文章