我想剥离html标签,只返回标签之间的文本。这是我目前正在使用的内容。
string regularExpressionPattern1 = @"<td(.*?)<\/td>";
Regex regex = new Regex(regularExpressionPattern1, RegexOptions.Singleline);
MatchCollection collection = regex.Matches(value.ToString());
我目前获得<td>13</td>
,我只想13
。
谢谢,
答案 0 :(得分:4)
您需要获得不属于该组的组值。 试试这个
Match m = collection[0];
var stripped = m.Groups[1].Value;
答案 1 :(得分:4)
您可以像这样使用后视?<=
和前瞻?=
:
(?<=<td>)(.*?)(?=<\/td>)
那应该只给你标签之间的文字。有关正则表达式和前瞻/后视的更多信息可以在Here找到。
此外,可以找到一个好的Regex测试人员Here。我用它来测试我写的所有正则表达式字符串。
答案 2 :(得分:3)
所以,使用HTML AgilityPack,这真的很容易......
HtmlDocument doc = doc.LoadHtml(value);
var nodes = doc.DocumentNode.SelectNodes("//td//text()");
将TextNodes放入节点变量中。
答案 3 :(得分:-1)
使用 match.Groups [1]。价值