将 unicode 添加到字符串 html 标记模式

Posted

技术标签:

【中文标题】将 unicode 添加到字符串 html 标记模式【英文标题】:Add unicode to a string html tag pattern 【发布时间】: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

【参考方案1】:

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

使用 HTMLAgilityPack 库

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

HTMLAgilityPack HtmlConvert Samples

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

HTMLAgilityPack website HTMLAgilityPack on codeplex

使用 System.Net

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

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

参考:

HttpUtility.HtmlDecode Method

使用正则表达式

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

How can I strip HTML tags from a string in ASP.NET? C# Remove HTML tags How do you convert Html to plain text?

【讨论】:

以上是关于将 unicode 添加到字符串 html 标记模式的主要内容,如果未能解决你的问题,请参考以下文章

将 <img> HTML 标记添加到 C# 字符串

将字符串(带有 unicode 字符)添加到字典时添加额外的斜杠( \ )

如何将 Unicode 支持添加到 CRichEditCtrl?

有没有办法可以将 unicode 文本添加到 MBCS MFC 菜单

从包含 Div 和脚本标记的 html 编码字符串中动态添加 div 元素

Python将“ u”添加到字符串中