删除字符串中两个字符之间的所有内容

本文关键字:之间 字符 两个 字符串 删除 | 更新日期: 2023-09-27 18:22:13

我从网页中提取了一些数据,我想知道如何删除这些字符之间的所有内容-<和>,同时也删除这些字符本身。下面是一个字符串的例子,我从一个网站得到-

<a>SomeTextHere</a>Moretext<br><tr>SomeText</tr>

我希望我的最终结果是

SomeTextHere MoreText SomeText

有没有一种方法可以让我快速有效地做到这一点?

删除字符串中两个字符之间的所有内容

您可以使用这个简单的RegEx。

private string StripTagsRegex(string source) 
{
            return Regex.Replace(source, "<.*?>", string.Empty);
}

对于更复杂的工作,请使用Html敏捷包,这是一种通常推荐使用的工具。它将采用格式错误的HTML,并将其转换为XHTML,然后是像XML类一样的可遍历DOM。

您想要的似乎是用一个空格替换多个连续的html标签,而基于代码的答案只是将标签两侧的内容连接起来

以下内容将剥离实际标签和html注释,同时保留其他所有内容(包括不构成标签声明一部分的<和>字符)。

private string StripTagsRegex(string source) 
{
    return Regex.Replace(source, "(</?[a-z][a-z0-9]*[^<>]*>|<!--.*?-->)+", " ", RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.Multiline).Trim();
}

使用这种方法:

<a>SomeTextHere</a>Moretext<br><tr>SomeText</tr>

成为

SomeTextHere MoreText SomeText

我想这正是你真正想要的。