【问题标题】:Add unicode to a string html tag pattern将 unicode 添加到字符串 html 标记模式
【发布时间】:2018-06-07 11:39:22
【问题描述】:

在 SSIS 中运行时,我正在使用以下 C# 脚本从描述列中删除 HTML 标记。我试图将以下 unicode : 添加到下面的字符串 htmlTagPattern 中,但我无法让它工作。

感谢任何帮助。

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;
    }
}

【问题讨论】:

  • System.Web.HttpUtility.HtmlDecode([你的 html 字符串]) 怎么样
  • @DavidF 你能添加一个简单的数据和预期的输出吗,如果是关于解码 html,如果使用 .Net 框架 4 或更高版本,你可以从 HtmlAgilityPackSystem.Net 库中受益正如 KeithL 建议的那样
  • 永远不要使用(.|\n)+?,它是性能杀手。在你的情况下,使用&lt;[^&gt;]+&gt;
  • 建议是数据样本和我们要删除的字符。 div class="ExternalClass4129293D586D41AC85272E1A543E69AE">这是一个 SharePoint 测试... 当前链接两个以上收件人记录的过程非常耗时,并且需要过多的手动干预。对链接过程进行必要的更改,以允许多个记录中的两个进行链接,即使有两个以上的记录满足匹配条件。
    : \n

标签: c# html sql-server ssis etl


【解决方案1】:

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

使用 HTMLAgilityPack 库

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

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

使用 System.Net

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

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

参考:

使用正则表达式

您可以点击以下链接之一了解更多详情:

【讨论】:

    猜你喜欢
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-20
    • 1970-01-01
    相关资源
    最近更新 更多