Удалить из строки все подстроки - 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д