如何从文字内容中删除html标签

本文关键字:删除 html 标签 文字 | 更新日期: 2023-09-27 18:10:48

我知道有几个线程说使用

Regex.Replace(input, "<.*?>", String.Empty);

但是我不能在word文档中使用它。我的代码是:

Microsoft.Office.Interop.Word.Document wBelge = oWord.Documents.Add(ref oMissing,
    ref oMissing, ref oMissing, ref oMissing);
Microsoft.Office.Interop.Word.Paragraph paragraf2;
paragraf2 = wBelge.Paragraphs.Add(ref oMissing);
paragraf2.Range.Text ="some long text";

我可以通过查找和替换

来改变
Word.Find findObject = oWord.Selection.Find;
findObject.ClearFormatting();
findObject.Text = "<strong>";
findObject.Replacement.Text = "";
findObject.Replacement.ClearFormatting();               
object replaceAllc = Word.WdReplace.wdReplaceAll;
findObject.Execute(ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
    ref replaceAllc, ref oMissing, ref oMissing, ref oMissing, ref oMissing);

我需要为每个html标签这样做吗?

如何从文字内容中删除html标签

试一下:

使用

将带有HTML添加的文本转换为一个简单的字符串
string unFormatted = paragrapf2.ToString(SaveOptions.DisableFormatting));

,然后用未格式化的字符串替换段落2。

在评论中提供的一些帮助下,我实现了以下工作解决方案

findObject.ClearFormatting();
findObject.Text = @"'<*'>";
findObject.MatchWildcards=true;                     
findObject.Replacement.ClearFormatting();
findObject.Replacement.Text = "";                       
object replaceAll = Word.WdReplace.wdReplaceAll;
findObject.Execute(ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
    ref replaceAll, ref oMissing, ref oMissing, ref oMissing, ref oMissing);

使用搜索模式'<*'>(包含通配符*),因此findObject。MatchWildcards必须设置为true)。