【发布时间】: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 或更高版本,你可以从
HtmlAgilityPack或System.Net库中受益正如 KeithL 建议的那样 -
永远不要使用
(.|\n)+?,它是性能杀手。在你的情况下,使用<[^>]+> -
建议是数据样本和我们要删除的字符。 div class="ExternalClass4129293D586D41AC85272E1A543E69AE">这是一个 SharePoint 测试... 当前链接两个以上收件人记录的过程非常耗时,并且需要过多的手动干预。对链接过程进行必要的更改,以允许多个记录中的两个进行链接,即使有两个以上的记录满足匹配条件。: \n
标签: c# html sql-server ssis etl