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

标签 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 

结果:

ABCThis is a delimited valueABC$ABCABCAnd another delimited valueABC

期望的结果:

ABCThis is a delimited valueABC$ABC$ABCAnd another delimited valueABC

Ulugbek 解决方案:

ABC$This is a delimited valueABC$ABC$ABC$And another delimited valueABC$

谢谢

最佳答案

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

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

关于c# - 如何用连续实例替换字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23602841/

相关文章:

linux - 跨多个文件增量查找和替换 - Bash

c++ - 是否可以使用 SIMD 指令进行替换?

linux - 使用 sed 命令忽略包含\和多个空格的变量

c# - TabHost 在 CreateIntentFor<> 中传递参数

javascript - 源自 JS RegExp

Java 正则表达式 字母后跟数字

javascript - 最多 3 位数字,最多 3 位小数

c# - 使用 C# 将逗号分隔的字符串转换为 XML

c# - 浓缩 if 语句错误

c# - IEnumerable.MoveNext() 返回 True 但 IEnumerable.Current 引发 System.NullReferenceException