使用RegEx拆分链接

时间:2015-03-25 03:46:13

标签: c# .net regex url

我想从链接中找到类别。我正在使用像这样的正则表达式将链接分解为数组。

string input = link;
string pattern = "/";            // Split on hyphens 

string[] substrings = Regex.Split(input, pattern);
foreach (string match in substrings)
{
    Console.WriteLine("'{0}'", match);
}

我的链接是:

http://www.example.com/lifestyle/food/a93ypt9-1227277841603?from=public_atom
http://www.example.com/sports/scoccer/accept9-1227277841603?from=public_atom

以上链接的类别

lifestyle
sports

我正在拆分连字符上的链接并查找我的类别但是有没有更好的方法来完成我的任务?

2 个答案:

答案 0 :(得分:6)

为什么你认为你需要使用正则表达式? Uri类可以为您解析和解释路径。您可以直接访问Segments

var uri = new Uri("http://www.link.com/lifestyle/food/a93ypt9-1227277841603?from=public_atom");
uri.Segments; // [ "/", "lifestyle/", "food/", "a93ypt9-1227277841603" ]

答案 1 :(得分:1)

如果您需要正则表达式模式(完全针对您的链接),请尝试以下操作:

\/{1,2}

\/{1,2}|\?{1}

也用于分割参数

请参阅.net regex tester