Удаление пробелов в строке - C#

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста, как исправить: Индекс находился вне границ массива вот код
void Main()
{
     string s = "lkfj  fgef    efgre erge   g gergerg rf";
     char[] ch = s.ToCharArray();
     int x = 0;

     for(int i =0; i<ch.Length; i++)
     
     {
     if (s[i] == ' ' && s[i+1] == ' ')
        x++;
        if(i+1 > ch.Length-1) break;
        ch [i+1] = ch [i+2];
        ch[ch.Length-x] = '.';
        ch.Dump();
     }
     
}

Решение задачи: «Удаление пробелов в строке»

textual
Листинг программы
        static string NormalizeSpaces(string str)
        {
            var builder = new StringBuilder();
            for (int i = 0; i < str.Length; i++)
            {
                if (str[i] != ' ')
                {
                    builder.Append(str[i]);
                }
                else
                {
                    if (i == str.Length - 1 || str[i + 1] != ' ')
                    {
                        builder.Append(str[i]);
                    }
                }
            }
            return builder.ToString();
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5