Символы-разделители. Чем можно заменить 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();
}

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


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

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

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