C# RegExp 删除跨度标记并保留引号字符

Ras*_*Ras 1 c# regex

我必须删除字符串中的 span 标签,例如:

<span>Operation Gambling:</span><span>la mano della crimitalità </span><span>sull'azzardo</span>
Run Code Online (Sandbox Code Playgroud)

为此,我使用以下正则表达式:

Regex.Replace(inHTML, "<span[^>]*?>", string.Empty).Replace("</span>", "&nbsp;</span>");
Run Code Online (Sandbox Code Playgroud)

结果有时是正确的,但在这种情况下是:

Operazione Gambling: la mano della crimitalità sull&nbsp;azzardo
Run Code Online (Sandbox Code Playgroud)

如您所见,单引号已被删除,如何通过修改模式保留它?

Sir*_*ifi 5

您可以使用此代码删除字符串中的 HTML 标记:

var str = "<span>Operation Gambling:</span><span>la mano della crimitalità </span><span>sull'azzardo</span>";
String result = Regex.Replace(str, @"<[^>]*>", String.Empty);
System.Console.WriteLine(result);
Run Code Online (Sandbox Code Playgroud)

或者这个正则表达式只删除跨度标签:

Regex.Replace(str, @"</?span( [^>]*|/)?>", String.Empty);
Run Code Online (Sandbox Code Playgroud)