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

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

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

Здравствуйте. Дано условие : Удаляет из строки все подстроки, состоящие из цифр.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace zad2
{
    class Program
    {
 
        static StringBuilder Del(StringBuilder lol)
        {
            char[] fig = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
 
            for (int i = 0; i < lol.Length; i++)
            {
                for (int g = 0; g < fig.Length; g++)
                {
                    if (lol[i] == fig[g]) lol.Remove(i, 1);
                }
            }
 
            return lol;
        }

        static void Main(string[] args)
        {
            Console.Write("Введите строку: ");
            StringBuilder str = new StringBuilder(Console.ReadLine());
            Del(str);
            Console.WriteLine("Выходная строка: ");
            Print(str);
 
            Console.ReadKey();
        }
 
        static void Print(StringBuilder lol)
        {
            for (int i = 0; i < lol.Length; i++)
            {
                Console.Write("{0}", lol[i]);
            }
        } 
    }
}
Всё время натыкаюсь на ошибку System.IndexOutOfRangeException --> Индекс находился в не границ массива. Скрин ниже.

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

textual
Листинг программы
static StringBuilder Del(StringBuilder lol)
{
    char[] fig = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
    for (int i = lol.Length - 1; i >= 0; i--)
    {
            if (Array.IndexOf(fig, lol[i])>=0)
                lol.Remove(i, 1);
    }
    return lol;
}

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


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

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

7   голосов , оценка 4 из 5
Похожие ответы