我有以下代码:
using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var r = new Regex(@"_(\d+)$");
string new_name = "asdf_1";
new_name = r.Replace(new_name, match =>
{
Console.WriteLine(match.Value);
return match.Value;
//return (Convert.ToUInt32(match.Value) + 1).ToString();
});
//Console.WriteLine(new_name);
}
}
我希望match.Value
为1
,但打印为_1
。我做错了什么?
答案 0 :(得分:5)
您获得整个Match
的价值 - 您只需要一个组(组1),您可以通过Groups
property和GroupCollection
indexer < / p>
Console.WriteLine(match.Groups[1]);