如何获取要分配给字符串的URL的一部分?

时间:2011-09-24 08:00:30

标签: c# asp.net string

我本地项目的网址是: -

http://localhost/mysite/KB/Type-1/General-Article

在服务器上它是: -

http://www.mysite.com/KB/Type-1/General-Article
从两个网址

,我想获取URL部分,直到Type-1没有斜杠

即从localhost网站地址,我想: -

http://localhost/mysite/KB/Type-1

从服务器,我想: -

http://www.mysite.com/KB/Type-1

我该怎么做?请帮助..谢谢

请注意,Type-1不是固定的,它会改变。它可以是“Type-2”,“User-Articles”等等。

感谢您的回答,但如果网址末尾有斜杠,这仍然有用吗? 像这样:-     http://www.mysite.com/KB/Type-1/General-Article/ 请注意,网址中的文字“KB”已修复。

3 个答案:

答案 0 :(得分:2)

试试这段代码,

url.Substring(0, url.LastIndexOf("/")-1);

编辑:如果您有结尾斜杠,则可以使用以下代码

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

答案 1 :(得分:2)

因为您没有提供足够的信息,只有一些一般性的想法:

编辑2 - 根据评论:

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

答案 2 :(得分:1)

无论最后是否有'/',这都可以做你想要的。它有点长,但它适用于您所有的概述要求。

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('/'));