【问题标题】:Parsing string and making list of required data解析字符串并列出所需数据
【发布时间】:2010-09-16 16:59:23
【问题描述】:

我正在使用**<style>..{data inside}..</style>**,它在以下代码中。我已经将样式标签之间的所有数据都放在一个字符串中,比如说 string tempStyle 并且所有操作都只能在该字符串上完成.

我正在寻找可以列出所有“样式”数据的函数。即只有 style1,style2,style15,style20 进入列表 .

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

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

提前感谢。

<html>
             <head>
               <style>

                   .right {
                           }

                       td{

                          }

                    table{
                           }

                    .style1{
                           }

                    .style2{
                           }

                    .style15{
                           }


                   .style20{

                         }
                 </style>
             </head>

</html>

【问题讨论】:

  • 我们从哪里开始?使用纯 HTML 还是您有 APSX/PHP?你想要什么样的清单?

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


【解决方案1】:

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

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();
    }
}

【讨论】:

  • 看起来不错的哥们,但我正在寻找动态...样式值可能不同
  • 我不确定我是否理解您要查找的内容。这将抓取所有样式及其内容。
  • 寻找所有可能出现的样式,我不能让它成为 style1、styl2、style15..regex 的核心可能会有所帮助,但我不在 regex..skip right,td,table tags s
  • 每次不同文件的样式数据都会改变..所以我希望它适用于所有可能的条件。因此它会检查样式数据是否存在,并将使样式数据的列表 出现在 标记中。非常感谢您的帮助。
  • 正则表达式将匹配任何像这样的样式声明:style### { //any content here },所以只要你的页面符合那个模式,你应该是好的。正则表达式模式只会返回那些特定的样式。如果由于某种原因不能使用正则表达式,则需要手动进行字符串操作,这将是一件很痛苦的事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-03
  • 1970-01-01
  • 2022-10-13
  • 1970-01-01
相关资源
最近更新 更多