繁体   English   中英

如何从列表中删除选定的特殊字符

[英]How to remove selected special character from list

我有C#列表,其中很多这样的值

<b>Moon</b>

我想删除<b></b>

我想要像这样的Moon结果。

我如何从列表中删除这种类型的字符。

您可以使用XDocument删除XML标签:

string StripXmlTags(string xml)
{
    XDocument doc = XDocument.Parse(xml);
    return doc.Root.Value;
}

例:

[Test]
public void Test()
{
    string xml = "<root><b>nice </b><c>node</c><d><e> is here</e></d></root>";
    string result = StripXmlTags(xml);

    Assert.AreEqual("nice node is here", result);
}

尝试这个:

var moonHtml = "<b>Moon</b>";
var regex = new Regex("</?(.*)>", RegexOptions.IgnoreCase | RegexOptions.Multiline);
var moon = regex.Replace(moonHtml, string.Empty);

尝试这个:

Regex.Replace("<b>Moon</b>", @"\<.+?\>", "")
string noHtml = Regex.Replace(inputWithHtmlTags, "<[^>]+>", "");

该程序是一个正则表达式的非常粗略的说明,该正则表达式将删除所有标签,它足够灵活,也可以删除斜体和下划线。 它使用IgnoreCase选项来防止输入中包含<b><B> ,并将在多行中进行搜索。 运行此命令的输出将是“月球上的人”。 我用 。*? 表示零或多个以捕获空括号(例如<>

using System;
using System.Text.RegularExpressions;

namespace ConsoleApplication3
{
    class Program
    {
       static void Main(string[] args)
       {
           var input = "<b>The</b> <i>Man</i> on the <U><B>Moon</B></U>";

           var regex = new Regex("<.*?>", RegexOptions.IgnoreCase | RegexOptions.Multiline);

           var output = regex.Replace(input, string.Empty);

           Console.WriteLine(output);
           Console.ReadLine();
      }
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM