增加字符串中的数字
c#
[为清晰起见,对帖子进行了编辑,提供的解决方案仍然适用]
我想将字符串中的所有数字增加一个已经预先确定的值。例如,我有以下字符串:
"a 1/1/1 2/2/2 3/3/3n
b 4/4/4 5/5/5 6/6/6n"
...
我想从每一行读取这些数字,并为它们添加一个值并将它们放回原处。我正在处理整数。
例如(随机数)
"a 1/2/3 3/4/5 5/6/7n
b 4/4/4 5/6/7 9/9/14n"
通过添加 5 变为
"a 6/7/8 8/9/10 10/11/12n
b 9/9/9 10/11/12 14/14/19n"
回答
尝试跟随。使用正则表达式搜索数字,将其解析为 int,增加某个值,然后转换回字符串。
string input = @"a x1/x2/x3 y1/y2/y3 z1/z2/z3n
b x1/x2/x3 y1/y2/y3 z1/z2/z3n";
string result = Regex.Replace(input, @"d+",
m => (int.Parse(m.Value) + 1).ToString());
Console.WriteLine(result);