Как найти в строке слово, в котором буквы идут последовательно по латинскому алфавиту - C#
Формулировка задачи:
Допустим дана строка: udhi uhidug uygd abc gutfyf abcde khgdfjg...
Выписать слова abc, abcde и так до конца алфавита с помощью юникода.
Но так, чтобы они начинались с A и заканчивались Z, а не в разброс.
Решение задачи: «Как найти в строке слово, в котором буквы идут последовательно по латинскому алфавиту»
textual
Листинг программы
- static bool HasAlphabeticalOrder(string text)
- {
- text = text.Trim(new char[] { ' ', '.', ',' });
- for (int i = 1; i < text.Length; i++)
- {
- if (text[i - 1] != text[i] - 1)
- {
- return false;
- }
- }
- return true;
- }
- static void Main(string[] args)
- {
- String text = "udhi uhidug uygd abc gutfyf abcde khgdfjg";
- Char delimiter = ' ';
- String[] substrings = text.Split(delimiter);
- List<string> list = new List<string>();
- foreach (var substring in substrings)
- if (HasAlphabeticalOrder(substring))
- list.Add(substring);
- list.Sort();
- foreach (var str in list)
- Console.WriteLine("{0} ", str);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д