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},因此只要您的页面符合该模式,就应该很好。正则表达式模式将只返回那些特定的样式。如果由于某种原因,您不能使用正则表达式,那么您将需要手动执行字符串操作,这将是一件非常痛苦的事情。