Я хочу удалить все экземпляры символа из строки, за исключением случаев, когда за этим символом следует любая форма или пробел. Я еще не писал модульные тесты, но кажется, что приведенный ниже код достигает того, что я хочу (возможно, забывая о одном или двух крайних случаях, что на данный момент нормально). Хотя это кажется довольно неуклюжим. Может ли кто-нибудь предложить улучшение?
public string Strip(string text, char c)
{
if (!string.IsNullOrEmpty(text))
{
bool characterIsInString = true;
int currentIndex = 0;
while (characterIsInString)
{
currentIndex = text.IndexOf(c, currentIndex + 1);
if (currentIndex != -1)
{
var charAfter = text.Substring(currentIndex + 1, 1);
if (charAfter != " ")
{
text = text.Remove(currentIndex, 1);
}
}
else
{
characterIsInString = false;
}
}
}
return text;
}
Подробнее здесь: https://stackoverflow.com/questions/526 ... rom-string