Заменить первое подходящее значение в строке в C#
Всем привет.
Есть строка: 1,2,3~111,32,0~2039,123,23~0,0,0~0,0,0~0,0,0~23,0,0..., также есть значение - 1,2,3.
Нужно сделать так, чтобы на это значение изменилось только первая 0,0,0 в строке.
Как можно такое сделать?
В интернете нахожу только String.Replace, но он заменяет все 0,0,0, а мне нужно только первое вхождение.
Кол-во чисел и сами числа случайные, в строке перед первым 0,0,0 может быть сколько угодно знаков.
Ответы (1 шт):
Автор решения: Vladimir Afanasyev
→ Ссылка
Топорный вариант:
string s = "1,2,3~111,32,0~2039,123,23~0,0,0~0,0,0~0,0,0~23,0,0";
string target = "1,2,3"; // Подстрока, которую заменяем
string replaceTo = "0,0,0"; // Подстрока, на которую заменяем
int IndexFirst = s.IndexOf(target);
s = s.Remove(IndexFirst, target.Length).Insert(IndexFirst, replaceTo);
Менее топорный:
Regex reg = new Regex("0,0,0");
s = reg.Replace(s, "1,2,3", 1);