Символы-разделители. Чем можно заменить Split? - C#
Формулировка задачи:
Привет.
В общем у меня есть текст, я его считываю при помощи StreamReader. Когда дело доходит до подсчета слов в строке я дальше не знаю что делать. То бишь я не знаю как при помощи стандартных функций отделить слова от символов-разделителей(' ' , '.' , ...).
Дело в том что мне нельзя пользоваться готовые функции (Sort, Reverse, Split и т.д.)
Конечно при помощи Split это бы выглядело вот так: string [] split = words.Split(new Char [] {' ', ',', '.', ':', '\t' });
а вот другим способом как это воссоздать я не знаю
Решение задачи: «Символы-разделители. Чем можно заменить Split?»
textual
Листинг программы
static void Main(string[]args) { var text = Console.ReadLine(); var words = text.Split(char.IsLetter); foreach (var word in words) Console.WriteLine(word); } static IEnumerable<string> Split(this string str, Func<char,bool> pred) { StringBuilder sb = new StringBuilder(); for(int i = 0; i < str.Length; i++) { if (pred(str[i])) sb.Append(str[i]); else if (sb.Length > 0) { yield return sb.ToString(); sb.Clear(); } } if (sb.Length > 0) yield return sb.ToString(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д