0

我想获取 td 标签之间的文本 html 页面..

以下是页面的html代码的一小段

 <tr align="right"><td>989</td><td>Kristoffer</td><td>Shameka</td>

 <tr align="right"><td>990</td><td>Lazaro</td><td>Deirdre</td>

 <tr align="right"><td>991</td><td>Torey</td><td>Shantell</td>

 <tr align="right"><td>992</td><td>Bill</td><td>Cherish</td>

 <tr align="right"><td>993</td><td>Bruno</td><td>Linsey</td>

 <tr align="right"><td>994</td><td>Genaro</td><td>Hali</td>

 <tr align="right"><td>995</td><td>Waylon</td><td>Tarah</td>

 <tr align="right"><td>996</td><td>Brittany</td><td>Annemarie</td>

. . . 等等。

我想使用正则表达式提取单个单元格值(例如:对于第一列 989、Kristoffer 和 Shameka)。帮助!

4

1 回答 1

2

无论输入的 HTML 是否总是具有正确且相同的结构,Regex 都不是您正在做的事情的最佳解决方案 - 因为 HTML 不是常规语言,Regex 可能是一个糟糕的解决方案,如此所述。

如果您不能相信输入是相同的,您应该使用 HTML 解析器,如HTML Agility Pack,它可以处理格式错误的 HTML 并查询其对象模型。

如果您知道输入始终具有相同的格式,在这种情况下,使用您显示的输入,您可以并且应该使用string.Split来解析出所需的值。

myHtmlString.Split(new []{@"<tr align=""right""><td>", "</td><td>", "</td>" },
                   StringSplitOptions.RemoveEmptyEntries)
于 2012-04-04T08:45:34.500 回答