我有以下示例字符串:
$0$aaaaa$1$bbbbb$2$cccccc
美元标记之间有一些数字.我想用Regex用数字+ 1替换每个数字,所以输出应该是:
$1$aaaaa$2$bbbbb$3$cccccc
如何在C#中使用Regex?
我知道如何找到所有数字:
string s = "$0$aaaaa$1$bbbbb$2$cccccc";
Regex regex = new Regex(@"\$(?<myNumber>.*?)\$");
MatchCollection matches = regex.Matches(s);
foreach (Match match in matches)
{
Console.WriteLine(match.Groups["myNumber"]);
}
Console.WriteLine("\n\nFinal string = " + s);
Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)
通过regex.Replace(...)我可以用一个值来替换他们,但我不知道如何使用正则表达式逐个更换号码.
有谁知道这是怎么做到的吗?
最好的问候,
Marcin
var result = Regex
.Replace(input, @"(?<=\$)\d+(?=\$)", m => (int.Parse(m.Value) + 1).ToString());
Run Code Online (Sandbox Code Playgroud)