代码之家  ›  专栏  ›  技术社区  ›  Sangram Nandkhile Viktor Klang

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

  •  0
  • Sangram Nandkhile Viktor Klang  · 技术社区  · 14 年前

    **<style>..{data inside}..</style>** 在下面的代码中,我将样式标记之间的所有数据都放在一个字符串中,比如 所有的操作只能在这个字符串上进行。

    我不希望列表中有right,td,table标记<gt;,我只希望将列表中的样式数据与另一个列表进行比较。

    请参考下面的代码来理解这个问题。

    提前告诉他。

    <html>
                 <head>
                   <style>
    
                       .right {
                               }
    
                           td{
    
                              }
    
                        table{
                               }
    
                        .style1{
                               }
    
                        .style2{
                               }
    
                        .style15{
                               }
    
    
                       .style20{
    
                             }
                     </style>
                 </head>
    
    </html>
    
    1 回复  |  直到 14 年前
        1
  •  2
  •   Nicholas Cloud    14 年前

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

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