c#字符串中的通配符

本文关键字:通配符 字符串 | 更新日期: 2023-09-27 17:49:26

我想用某种方式在c#中表达通配符这是我想使用通配符的代码它用于从xml代码中删除标签我已经有了

    public static String readfromnode(XNode x)
    {
        String before;
        before = x.ToString();
        before.Replace("<"the wild card should be here">", null);
        return before;
    }

我已经尝试使用了许多符号,并将它们与@联系起来,但没有一个工作得很好。

例如

输入是

**<head> <title>Benchmark 1</title> </head>**

,输出为

基准1

c#字符串中的通配符

没有使用String.Replace()的"通配符"解决方案。最好的办法是使用正则表达式和regex类,这正是正则表达式的目的所在。

快速制作了一个示例,说明如何做到这一点。

static void Main(string[] args)
{
    string myString = "This is some <text with> some missplaced <tags in them> and we want to remove everything <between those tags>";
    myString = Regex.Replace(myString, "<.*?>", string.Empty);
    Console.WriteLine(myString);
    Console.ReadKey();
}

您最好使用正则表达式:

public static string ReadFromNode(XNode node)
{
    string before = node.ToString();
    string after = Regex.Replace(before, @"<'w+>", string.Empty);
    return after;
}

模式<'w+>在本例中表示<后跟一个或多个单词字符,后跟>。您可以根据您的需求使用更复杂的模式。

我建议使用这个通配符来正则化。

希望这对你有帮助!

您也可以将标记提取为子字符串,并使用Replace替换您获得的字符串。

伪代码:

查找出现"<"然后出现">",并提取标签之间的字符串以替换或直接从标签前后提取文本,实质上是删除它。

也许在正则表达式中也有这样的方法