0

我有一个字符串如下 -

"This is <h2>a place/h2>
<p>You know its a good place!</p>
<ul>
    <li>Booked your ticket #20130114074912_AN3P703C on Monday, January 14</li>
</ul>"

所以,我希望我的字符串如下

"This is a place
You know its a good place.
Booked your ticket #20130114074912_AN3P703C on Monday, January 14"
4

5 回答 5

2

我相信这就是你的答案。关联

尝试这个:

// <summary>
/// Remove HTML from string with Regex.
/// </summary>
public static string StripTagsRegex(string source)
{
   return Regex.Replace(source, "<.*?>", string.Empty);
}

输出:

Input:    <p>The <b>dog</b> is <i>cute</i>.</p>
Output:   The dog is cute.
于 2013-01-30T09:49:18.907 回答
0

这将在你的情况下完成工作

String neededString = Regex.Replace(source, "<.*?>", string.Empty);

对于包含 CSS、JavaScript 节点的更复杂的字符串,您可以使用以下内容

String neededStringRegex.Replace(subjectString, @"<(style|script)[^<>]*>.*?</\1>|</?[a-z][a-z0-9]*[^<>]*>|<!--.*?-->", "")
于 2013-01-30T09:54:45.420 回答
0

您可以使用以下方法从任何字符串中删除 HTML 标记

static string StripHTML (string inputString)
{
  return Regex.Replace(inputString, "<.*?>", string.Empty);
}
于 2013-01-30T09:52:29.533 回答
0

下载并引用HTML Agility Pack,然后调用以下命令:

var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(input);
string output = htmlDoc.DocumentNode.InnerText;

这仍然不会删除您的格式错误的/h2>标签,但它应该比正则表达式处理更多的 HTML。

于 2013-01-30T10:00:02.697 回答
0

这应该可以解决问题

string input = "This is <h2> a place</h2><p>You know its a good place!</p><ul>    <li>Booked your ticket #20130114074912_AN3P703C on Monday, January 14</li></ul>";
input = Regex.Replace(input, "<.*?>", string.Empty);

这将找到包含在“<>”中的所有字符串并将其替换为“”或空字符串

于 2013-01-30T10:09:36.493 回答