如何用另一个字符串替换子字符串?
string line = "ABC00.00GHIABCDEFGH00.00IJKLM00.00NO";
我想用12.34替换00.00的第二个实例。
答案 0 :(得分:4)
最简单的解决方案是使用IndexOf
和SubString
的组合:
var line = "ABC00.00GHIABCDEFGH00.00IJKLM00.00NO";
var indexOfSecondOccurance = line.IndexOf("00.00", line.IndexOf("00.00")+1);
var result = line.Substring(0, indexOfSecondOccurance) + "12.34" + line.Substring(indexOfSecondOccurance + 5);
答案 1 :(得分:0)
IdleService
代码的工作原理如下:
int x = 0;
string line2 = Regex.Replace(line, "00\.00", m => ++x == 2 ? "12.34" : m.Value);
变量。x
,然后将其与x
进行比较。如果x等于2,那么我们返回“12.34”,否则我们返回我们找到的内容。答案 2 :(得分:0)
您还可以使用Split
和Join
:
var line = "ABC00.00GHIABCDEFGH00.00IJKLM00.00NO";
var parts = line.Split(new [] { "00.00" }, StringSplitOptions.None);
var line2 = String.Join("00.00", parts.Take(2)) + String.Join("00.00", parts.Skip(2));
在这里,我们拆分00.00
,从而从拆分数组中删除每个实例。然后我们将字符串重新组合在一起,但我们跳过了不需要的00.00
实例。