这就是我的尝试:
string myURL= "http://mysite.com/articles/healthrelated";
String idStr = myURL.Substring(myURL.LastIndexOf('/') + 1);
我需要获取“healthrelated”,即URL中最后一个斜杠后面的文本。现在的问题是我的网址也可以是:
"http://mysite.com/articles/healthrelated/"
即该文本末尾的“Slash”。现在最后一个斜线变成了“健康相关”之后的斜线,所以我得到的结果是
String idStr = myURL.Substring(myURL.LastIndexOf('/') + 1);
是空字符串..
我的代码应该是什么样的,所以无论最终是否有斜线,我总是得到“健康相关”的文本。我只需要以某种方式获取该文本。
答案 0 :(得分:3)
试试这个。
var lastSegment = url
.Split(new string[]{"/"}, StringSplitOptions.RemoveEmptyEntries)
.ToList()
.Last();
答案 1 :(得分:1)
为什么不使用Uri
类.NET并使用segments
属性:
http://msdn.microsoft.com/en-us/library/system.uri.segments.aspx
答案 2 :(得分:0)
在这种情况下你可以做的就是使用REGEX(我不是专家,但我这里的其他人都不感兴趣;))或简单:
string[] urlParts = myURL.Split('/');
并获取此数组中的最后一个字符串。