Два способа избавиться от лишних символов. А есть ли еще?

Рейтинг: 1Ответов: 1Опубликовано: 28.01.2015

Есть ли другие способы, получше?

Первый способ использует цикл, например убирает запятую:

            for (int i = 0; i < arr.Length; i++)
        {
            arr[i] = arr[i].Replace(",", string.Empty);
        }

Другой способ использует регулярные выражения, например так можно убрать повторяющиеся пробелы:

            string str = Regex.Replace(str, @"\s+", " ");

Ответы

▲ 5Принят

LINQ спешит на помощь!

string str = "qwe   rty     uiop   sdfasdfad dfafsa";

Убираем все пробелы:

str = string.Join("", str.Where(c => !Char.IsWhiteSpace(c)));
// qwertyuiopsdfasdfaddfafsa

Убираем повторяющиеся пробелы:

str = string.Join("", str.Aggregate("", (s, c) => Char.IsWhiteSpace(c) && s.Last() == c ? s : s + c);
// qwe rty uiop sdfasdfad dfafsa

Смотрим на картинку про буханку хлеба и троллейбус.