解析字符串并制作所需数据的列表

时间:2010-09-16 16:59:24

标签: c# .net visual-studio-2008 parsing html-parsing

我正在使用以下代码中的**<style>..{data inside}..</style>**。我已经在一个字符串中获取了样式标记之间的所有数据,比如 string tempStyle ,所有操作都要在那里完成只有字符串。

我正在寻找能够列出所有“风格”数据的功能。即只将style1,style2,style15,style20放入列表&lt;&gt;。

我不希望List&lt;&gt;中的right,td,table标签,我只想将列表中的样式数据与另一个List进行比较。 我只是在寻找制作List&lt;&gt;的功能样式标签之间的样式数据。

请参阅以下代码以了解问题。

提前完成。

<html>
             <head>
               <style>

                   .right {
                           }

                       td{

                          }

                    table{
                           }

                    .style1{
                           }

                    .style2{
                           }

                    .style15{
                           }


                   .style20{

                         }
                 </style>
             </head>

</html>

1 个答案:

答案 0 :(得分:2)

正则表达式可以很好地完成这个任务:

class Program
{
    private const string PATTERN = @".style[\d]+{[^}]*}";

    private const string STYLE_STRING = @"  .right {          }      td{         }   table{          }   .style1{          }   .style2{          }   .style15{          }  .style20{        }";

    static void Main(string[] args)
    {
        var matches = Regex.Matches(STYLE_STRING, PATTERN);
        var styleList = new List<string>();

        for (int i = 0; i < matches.Count; i++)
        {
            styleList.Add(matches[i].ToString());
        }

        styleList.ForEach(Console.WriteLine);

        Console.ReadLine();
    }
}