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
没有使用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替换您获得的字符串。
伪代码:
查找出现"<"然后出现">",并提取标签之间的字符串以替换或直接从标签前后提取文本,实质上是删除它。
也许在正则表达式中也有这样的方法