日期:2014-05-17  浏览次数:20721 次

如何批量执行并替换字符串?字符串中含有多个数字要求计算。
字符串格式如下:
#271;#521;#2433;#3501;#2911;#2908;#3241

其要求是,把每个字符中的数字按一个方法计算一次,并返回字符串。

比如:加 1000 最后的结果要变成
#1271;#1521;#3433;#4501;#3911;#3908;#4241

------解决方案--------------------
C# code
 string tempStr = @"是这样的,
#271;放大后即可#521;<t>42342</t>#2433;#%#@$@##3501;但是毕竟是#2911;#2908;#3241
";
                string pattern = @"(?i)(?<=#\D*?)\d+";
                tempStr = Regex.Replace(tempStr, pattern, a => {
                    int num = 0;
                    int.TryParse(a.Value,out num);
                    num = num + 1000;//定义公式
                    return num.ToString();
                });
                //是这样的,\r\n#1271;放大后即可#1521;<t>42342</t>#3433;#%#@$@##4501;但是毕竟是#3911;#3908;#4241\r\n