C# 解析字符串并列出所需数据

C# 解析字符串并列出所需数据,c#,.net,visual-studio-2008,parsing,html-parsing,C#,.net,Visual Studio 2008,Parsing,Html Parsing,我使用的是**..{data inside}..**,它在下面的代码中。我将样式标记之间的所有数据都放在一个字符串中,比如string tempStyle,并且所有操作都只能在该字符串上执行 我正在寻找的功能,将采取使所有“风格”的数据列表。i、 e.列表中只包含style1、style2、style15和style20 我不希望列表中有right、td、table标记,我只希望将列表中的样式数据与另一个列表进行比较。 我只是在寻找一个函数来制作样式数据列表,它位于样式标记之间 请参考以下代码以

我使用的是
**..{data inside}..**
,它在下面的代码中。我将样式标记之间的所有数据都放在一个字符串中,比如string tempStyle,并且所有操作都只能在该字符串上执行

我正在寻找的功能,将采取使所有“风格”的数据列表。i、 e.列表中只包含style1、style2、style15和style20

我不希望列表中有right、td、table标记,我只希望将列表中的样式数据与另一个列表进行比较。 我只是在寻找一个函数来制作样式数据列表,它位于样式标记之间

请参考以下代码以理解问题

提前准备好

<html>
             <head>
               <style>

                   .right {
                           }

                       td{

                          }

                    table{
                           }

                    .style1{
                           }

                    .style2{
                           }

                    .style15{
                           }


                   .style20{

                         }
                 </style>
             </head>

</html>

.对{
}
运输署{
}
桌子{
}
.style1{
}
.style2{
}
.style15{
}
.style20{
}

正则表达式可以很好地做到这一点:

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();
    }
}
类程序
{
私有常量字符串模式=@“.style[\d]+{[^}]*}”;
private const string STYLE_string=@.right{}td{}表{}.style1{}.style2{}.style15{}.style20{}”;
静态void Main(字符串[]参数)
{
var matches=Regex.matches(样式、字符串、模式);
var styleList=新列表();
for(int i=0;i
我们从哪里开始?使用纯HTML还是使用APSX/PHP?你想要什么样的列表?看起来不错,伙计,但我正在寻找动态的…样式值可能不同我不确定我是否理解你在寻找什么。这将获取所有样式及其内容。查找所有可能出现的样式,我无法使其成为style1、Style2、style15的核心。正则表达式可能有帮助,但我不在正则表达式中。向右跳过,td,表标记。不同文件的时间样式数据将发生变化。因此,我希望它在所有可能的条件下都能工作。所以它会检查样式数据是否存在,并将样式数据列表显示在标记中。非常感谢您的帮助。正则表达式将匹配以下任何样式声明:style###{//any content here},因此只要您的页面符合该模式,就应该很好。正则表达式模式将只返回那些特定的样式。如果由于某种原因,您不能使用正则表达式,那么您将需要手动执行字符串操作,这将是一件非常痛苦的事情。