如何替换唯一字符串包含一些字符之前使用增量编号

时间:2015-07-10 00:36:26

标签: c# regex string replace

这是我的字符串:

  

...
  ...
  ... 8451__Same_String __...
  ... 5236__Same_String __...
  ... 9854__Same_String __...
  ... 8751__Same_String __...
  ... 3254__Same_String __...
  ...
  ...

点的意思是 - >我的字符串中的其他字符 如您所见,我的字符串中有5个相同的SubStrings,我想在所有相同的SubStrings之前更改4位数字,并带有增量编号!
更改后的平均值(使用删除替换正则表达式或其他)我想要此字符串:

  

...
  ...
  ... 1111__Same_String __...
  ... 2222__Same_String __...
  ... 3333__Same_String __...
  ... 4444__Same_String __...
  ... 5555__Same_String __...
  ...
  ...

如您所见 Same_String 不是我的目标,我的目标是那些应该改变的4位数字:1111,2222,3333,4444,5555 ......

我该怎么做?

1 个答案:

答案 0 :(得分:3)

您可以使用Regex,

int count = 0;
var result = Regex.Replace(
               text, 
               @"\d\d\d\d(__Same_String__)", 
               m => (++count).ToString().PadLeft(4, (char)(count + '0')) + m.Groups[1].Value);