将Unicode添加到字符串HTML标记模式

4
我正在使用以下C#脚本在SSIS中运行时从描述列中删除HTML标记。 我已尝试向下面的字符串htmlTagPattern添加以下Unicode&#58,但我无法使其起作用。
感谢您的帮助。
public class ScriptMain : UserComponent
{
    public override void Input0_ProcessInputRow(Input0Buffer Row)
    {    
         Row.Message = RemoveHtml(Row.Message);
    }
   public String RemoveHtml(String message)
   {
       String htmlTagPattern = "<(.|\n)+?>";
        Regex objRegExp = new Regex(htmlTagPattern);
        message = objRegExp.Replace(message, String.Empty);
        return message;
    }
}

1
System.Web.HttpUtility.HtmlDecode([你的 HTML 字符串]) 怎么样? - KeithL
@DavidF,如果您能提供数据示例和期望的输出,那就更好了。如果涉及解码HTML,您可以使用HtmlAgilityPack或者System.Net库(如果使用 .Net framework 4 或更高版本),正如KeithL所建议的那样。 - Hadi
永远不要使用 (.|\n)+?,它会影响性能。在您的情况下,请使用 <[^>]+> - Wiktor Stribiżew
如建议的那样,这是一个数据样本和我们要删除的字符。<div class="ExternalClass4129293D586D41AC85272E1A543E69AE">这是一个SharePoint测试...目前链接超过两个收件人记录的流程耗时且需要过多的手动干预。对链接过程进行必要的更改,以允许多个记录中的两个记录链接,即使有多个记录符合匹配标准。</div> &#58 \n<p> </p> </div> - David F
@DavidF,你试过我的建议了吗? - Hadi
是的。谢谢你的建议。 - David F
1个回答

0

有许多方法可以将HTML转换为纯文本:

使用HTMLAgilityPack库

您可以从提供的示例中获取代码:

您可以从以下链接下载HTMLAgilitypack:

使用System.Net

如果您正在使用.NET框架4或更高版本,则可以从System.Net库中受益,该库包含了从HTML中获取纯文本的方法:

System.Net.HttpUtility.HtmlDecode(Row.Column)

参考资料:

使用正则表达式

您可以通过以下链接了解更多详细信息:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接