正则表达式提取数据

时间:2011-07-07 12:08:28

标签: c# regex

所以我有一组看起来像这样的数据(逐行采样):

verkoop
verkoop [Hot News]
verkoop [Hot News] [Smurf]
verkoop test
verkoop test [Hot News]
verkoop test [Hot News] [Smurf]

我想要的是所有文字(在此示例中可以是verkoopverkoop test)和所有标记(例如:[Hot News][Hot News] { {1}})要分开(在群组中最好但最终我只需要在C#中的数组中)。

文本可以保留为1组,但每个标记必须形成自己的组。

我试图使用正则表达式,但似乎无法使其使用超过1个标记(例如[Smurf])。 这就是我想出的:

[Hot News] [Smurf]

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

如果标签始终位于字符串的末尾,则只需在第一次出现[时进行拆分(如果存在)。

using System;

class Program
{
    static void Main()
    {
        string s = "verkoop test [Hot News] [Smurf]";
        int i = s.IndexOf('[');
        if(i > -1)
        {
            Console.WriteLine(s.Substring(0, i));
            Console.WriteLine(s.Substring(i));
        }
    }
}

打印:

verkoop test 
[Hot News] [Smurf]

答案 1 :(得分:0)

为什么不考虑简单的字符串处理,在您的情况下,您可以使用“[”作为分隔符并拆分字符串。