如何用连续实例替换字符串?

时间:2014-05-12 06:59:22

标签: c# regex replace

修改

@Ulugbek - 我已经编辑过来提问以澄清。

我使用模式作为分隔符,需要通过使用C#在模式之间插入$来替换连续的模式出现,但目前它只替换模式的第一个实例。

除了多次替换之外,还有什么我需要做的吗?或者,我是否需要使用RegEx?

由于

String s = "ABCThis is a delimited valueABCABCABCAnd another delimited valueABC";
String.Replace("ABCABC", "ABC$ABC"); //misses second instance of the consecutive patterns instances 

结果:

  

ABCT这是一个定界的值ABC $ ABCABCA另一个分隔的值ABC

期望的结果:

  

ABCT这是一个分隔值ABC $ ABC $ ABCA另一个分隔值ABC

Ulugbek解决方案:

  

ABC $这是一个分隔的值ABC $ ABC $ ABC $和另一个分隔   valueABC $

由于

1 个答案:

答案 0 :(得分:5)

您可以重新考虑策略。将所有ABC替换为ABC后加ABC$

string s = "ABCABCABC";
string output = Regex.Replace(s, "ABC(?=ABC)", "ABC$");