【发布时间】:2015-07-25 14:59:04
【问题描述】:
我有一个字符串,其中包含单词“TAG”,后跟一个整数、下划线和另一个单词。
例如:“TAG123_Sample”
我需要剪切“TAGXXX_”模式,只得到单词 Sample。这意味着我将不得不删除单词“TAG”以及后面的整数和下划线。
我编写了以下代码,但它不起作用。我做错了什么?我怎样才能做到这一点?请指教。
static void Main(string[] args)
{
String sentence = "TAG123_Sample";
String pattern=@"TAG[^\d]_";
String replacement = "";
Regex r = new Regex(pattern);
String res = r.Replace(sentence,replacement);
Console.WriteLine(res);
Console.ReadLine();
}
【问题讨论】:
-
试试这个:
@"TAG\d+_"因为[^\d]可能只是说“没有数字将跟随 TAG”所以只需使用 \d+ 表示“超过一位”
标签: c# .net regex visual-studio-2010