簡體   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