通配符替换C#中的RegEx

时间:2015-07-27 11:05:42

标签: c# regex replace

我进行了搜索和搜索,看到了一些看似解决方案的代码,但它不起作用。我没有使用正则表达式的经验,我想看看我在这里做错了什么。

string line = input.Replace("<td>", ";");
string withoutTabs = Regex.Replace(line, "\t", ";");
string withoutTD = Regex.Replace(withoutTabs, ".*</td>", ";");

上面的代码试图替换HTML表格布局中的所有<td> </td>和标签。但它不起作用,它不会删除选项卡,也不会替换</td>标签。 </td>标记通常附加到某些文字,例如:text</td>

我希望它看起来像这样:text;

有人可以指出我的错误,或者我的正则表达是错的,我是否需要用其他东西替换它?

2 个答案:

答案 0 :(得分:2)

  

我想用<td>

替换</td>以及;和标签
Regex.Replace(input, @"</?td>|\t", ";");

DEMO

答案 1 :(得分:0)

那不是:

string withoutEndTD = Regex.Replace(withoutTabs, "</td>", ";");

这实际上是一样的:

string withoutEndTD = withoutTabs.Replace("</td>", ";");

如果您打算获取任何&lt;的文本(innerText) td&gt; &LT; / td&gt;,那么RegExp和string.Replace都不是要走的路。你可以使用DOM处理,比如Linq To XML。