Удалить все экземпляры символа из строкиC#

Место общения программистов C#
Ответить
Anonymous
 Удалить все экземпляры символа из строки

Сообщение Anonymous »

Я хочу удалить все экземпляры символа из строки, за исключением случаев, когда за этим символом следует любая форма или пробел. Я еще не писал модульные тесты, но кажется, что приведенный ниже код достигает того, что я хочу (возможно, забывая о одном или двух крайних случаях, что на данный момент нормально). Хотя это кажется довольно неуклюжим. Может ли кто-нибудь предложить улучшение?

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»