Мне нужно удалить первое (и ТОЛЬКО первое) вхождение строки из другой строки.
Вот пример замены строки "\\Iteration". Этот:
ProjectName \ Iteration \ Release1 \ Iteration1
станет таким:
ProjectName \ Release1 \ Iteration1
Вот код, который делает это:
const string removeString = "\\Iteration";
int index = sourceString.IndexOf(removeString);
int length = removeString.Length;
String startOfString = sourceString.Substring(0, index);
String endOfString = sourceString.Substring(index + length);
String cleanPath = startOfString + endOfString;
Похоже, много кода.
Итак, мой вопрос таков: есть ли более чистый / более читаемый / более сжатый способ сделать это?
æиaeсчитаются равными. Попытка удалитьpaediaизEncyclopædiaприведет к сбоюArgumentOutOfRangeException, поскольку вы пытаетесь удалить 6 символов, когда соответствующая подстрока содержит только 5.