【发布时间】:2009-07-31 07:23:20
【问题描述】:
我需要改进下面的方法。
这个想法是提取 URL 的第一个文件夹(如果存在)。 URL 可以带或不带域传递,即http://www.examplecom/es/test/test.aspx、http://example.com/es/test/ 或简单的/us/xxx/xxx.aspx。
public string ExtractURL(string url)
{
string result = "";
try
{
string[] urlSplitted = url.Split("//".ToCharArray());
//si encontramos /
if (urlSplitted.Length > 0)
{
string strFin = urlSplitted[urlSplitted.GetUpperBound(0) - 1];
//comprobamos que exista algo
if (String.IsNullOrEmpty(strFin))
{
result = url;
}
else
{
//devuelvo la url hasta /ES o /EN
result = url.Substring(0,url.ToLower().IndexOf("/" +strFin.ToLower()));
}
}
else
{
result = url;
}
}
catch
{
result = "";
}
return result;
}
【问题讨论】:
-
你还没有说你现在的方法有什么问题。什么不工作?
-
我们的想法是压缩更多的东西,正则表达式总是很好