在Datatable中搜索包含html c#的值
本文关键字:html 的值 包含 搜索 Datatable | 更新日期: 2023-09-27 17:57:57
我正在尝试搜索加载到数据表中的csv文件。
第二列包含一些带有html的值。我想搜索并只选择那些在第1列中包含html及其相应值的值。
我该怎么做?我知道正则表达式不是一个好方法。
var dir = AppDomain.CurrentDomain.BaseDirectory + @"'classes.csv";
var test = GetDataTableFromCsv(dir, true);
var totalclasses = test.Rows.Count;
Console.Write("Number of Classes: " + totalclasses);
Console.WriteLine();
test.Columns[0].ColumnName = "Studios";
test.Columns[1].ColumnName = "Classes";
下面是我在数据表中读取的csv文件的一部分示例。
3722,JHL Workshop Event 2
3722,Newcomers Workshop
3722,March Newcomer''s Workshop
3722,<FONT COLOR="#965C00"/>Pilates & Yoga
3722,Julian Retreat May 13 - 15, 2011
3722,<FONT COLOR="#965C00"/>Active Hatha Mix
3722,<FONT COLOR="#FF1CAE"/>Breathing & Meditation
3722,<FONT COLOR="#0000FF"/>Functional Movement Hatha Yoga (Blue)
3722,<FONT COLOR="#F00D3E"/>Active Hatha Flow (Red)
3722,<FONT COLOR="#CC2EFA"/>Gentle Restorative Mix (Purple)
3722,Pre-Class offering for AGW Members: Guided Meditation & Inspiration
3722,ACTIVE HATHA YOGA MIX
3722,Yoga, Breath and Meditation - "7 Spiritual Laws of Yoga"
我需要计算有多少类包含HTML,然后有多少工作室有包含HTML 的类
如果您只是试图检测html,则不需要对其进行解析,只需对唯一字符使用字符串解析即可。然而,Regex可能更可靠。
var enumerableDT= test.AsEnumerable();
var classesWithHTMLCount = enumerableDT.Count(x => x["Classes"].ToString()
.Contains("/>"));
var studiosWithHTMLCount = enumerableDT.Where(x => x["Classes"].ToString()
.Contains("/>"))
.GroupBy(x => x["Studio"])
.Count();