在列表中循环<>;和.包含is';不要抓绳子

本文关键字:is 列表 循环 lt gt 包含 | 更新日期: 2023-09-27 18:20:45

我正在阅读文本流,并将文本放入List<>收集当我浏览列表时,我正试图做到这一点。。。

DataTable dt1 = new DataTable();
DataRow dr = dt1.NewRow();
dt1.Columns.Add("A");
dt1.Columns.Add("B");
dt1.Columns.Add("C");
dt1.Columns.Add("D");
dt1.Columns.Add("E");
dt1.Columns.Add("F");
foreach (var x in myList)
{
    if (x.Contains("<a class= "))
    {
        //Gotta get the values on the new lines
        //into an array
        dr["A"] = x;
        dt1.Rows.Add(x);
    }
}

问题是…

if (x.Contains("<a class= "))

它总是通过if语句,而我已经遍历了它,并且该字符串确实存在。寻找这段字符串的原因是,这是我知道此后每一行直到下一次的值都是该记录的一部分的唯一方法。

编辑

字符串是

..<a class="doctor" href="/public-register/doctor-details.aspx?view=1&id=%2082358">Aal Ali, Saleh Saif Salem A S Fares </a>(#82358)

在列表中循环<>;和.包含is';不要抓绳子

它是class=之后的空白。试试这个:

    private static void ContainsTest()
    {
        string input = "<a class=";
        string test = "<a class='"doctor'" href='"/public-register/doctor-details.aspx?view=1&id=%2082358'">Aal Ali, Saleh Saif Salem A S Fares </a>(#82358)";
        Console.WriteLine("test Contains input: "+test.Contains(input).ToString());
    }