C# 如何将URL的一部分分配给字符串?

C# 如何将URL的一部分分配给字符串?,c#,asp.net,string,C#,Asp.net,String,我的本地项目的url是:- http://localhost/mysite/KB/Type-1/General-Article 在服务器上,它是:- http://www.mysite.com/KB/Type-1/General-Article 从这两个URL中,我想获取URL部分,直到Type-1没有斜杠 ie从localhost网站地址,我想要:- http://localhost/mysite/KB/Type-1 从服务器,我想要:- http://www.mysite.com/KB

我的本地项目的url是:-

http://localhost/mysite/KB/Type-1/General-Article
在服务器上,它是:-

http://www.mysite.com/KB/Type-1/General-Article
从这两个URL中,我想获取URL部分,直到Type-1没有斜杠

ie从localhost网站地址,我想要:-

http://localhost/mysite/KB/Type-1
从服务器,我想要:-

http://www.mysite.com/KB/Type-1
我该怎么做?请帮忙……谢谢

请注意,类型1不是固定的,它可以更改。它可以是“Type-2”、“用户文章”等任何内容。

谢谢您的回答,但是如果URL末尾也有斜杠,这仍然有效吗? 像这样:- 请注意,URL中的文本“KB”是固定的。

请尝试此代码

url.Substring(0, url.LastIndexOf("/")-1);
编辑:如果有结束斜杠,可以使用以下代码

url=url.Remove(test1.Length - 1);
url.Substring(0, url.LastIndexOf("/")-1);
试试这个代码

url.Substring(0, url.LastIndexOf("/")-1);
编辑:如果有结束斜杠,可以使用以下代码

url=url.Remove(test1.Length - 1);
url.Substring(0, url.LastIndexOf("/")-1);

由于您没有提供足够的信息,因此只能提供一些大致的想法:

编辑2-根据评论:

string MySubURL = MyURL.SubString ( 0, MyURL.TrimEnd(null).TrimEnd(new char[]{'/'}).LastIndexOf ("/") );

由于您没有提供足够的信息,因此只能提供一些大致的想法:

编辑2-根据评论:

string MySubURL = MyURL.SubString ( 0, MyURL.TrimEnd(null).TrimEnd(new char[]{'/'}).LastIndexOf ("/") );

无论一行的末尾是否有“/”,这都将满足您的需要。它稍微长一点,但它适用于您概述的所有需求

string url = "http://www.mysite.com/KB/Type-1/General-Article";
string seg = url.EndsWith("/") ? url.Substring(0, url.TrimEnd('/').LastIndexOf('/')) : url.Substring(0, url.LastIndexOf('/'));

无论一行的末尾是否有“/”,这都将满足您的需要。它稍微长一点,但它适用于您概述的所有需求

string url = "http://www.mysite.com/KB/Type-1/General-Article";
string seg = url.EndsWith("/") ? url.Substring(0, url.TrimEnd('/').LastIndexOf('/')) : url.Substring(0, url.LastIndexOf('/'));

OP明确地说“Type-1”是不能被期待的。OP明确地说“Type-1”是不能被期待的。谢谢你的回答,但是如果URL的末尾也有一个斜杠,这仍然有效吗?如下:-请注意URL中的文本“KB”是固定的。我使用以下字符串MyURL=HttpContext.Current.Request.RawUrl获取URL;问题是,在我的本地服务器上,它返回“mysite/KB/Type-1/General Article”,因此您的代码结果对我来说不正确。如何从地址栏获取完整的URL?/mysite/KB/User Artic这是我得到的结果。我刚刚在myurl字符串中添加了静态URL值,结果仍然是相同的。除了在客户端使用javascript,您无法从地址栏获取准确的URL。谢谢您的回答,但是如果存在错误,这仍然有效吗在URL的末尾也用斜杠?如下:-请注意URL中的文本“KB”是固定的。我使用以下字符串MyURL=HttpContext.Current.Request.RawUrl获取URL;问题是,在我的本地服务器上,它返回“mysite/KB/Type-1/General Article”,因此您的代码结果对我来说不正确。如何从地址栏获取完整的URL?/mysite/KB/User Artic这是我得到的结果。我刚刚在myurl字符串中添加了静态URL值,结果仍然是相同的。除了在客户端使用javascript,您无法从地址栏获取准确的URL。谢谢您的回答,但是如果存在错误,这仍然有效吗在URL的末尾也用斜杠?像这样:-“请注意URL中的文本“KB”是固定的。谢谢你的回答,但是如果URL末尾也有一个斜杠,这仍然有效吗?如下:-“请注意URL中的文本“KB”是固定的。