Удалить из строки все подстроки - C#
Формулировка задачи:
Здравствуйте.
Дано условие : Удаляет из строки все подстроки, состоящие из цифр.
Всё время натыкаюсь на ошибку System.IndexOutOfRangeException --> Индекс находился в не границ массива.
Скрин ниже.
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]);
}
}
}
}Решение задачи: «Удалить из строки все подстроки»
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;
}