C#, консоль дана строка s. разделить строку на отдельные слова не используя стандартные средства для разбиения строк

ANNANESMN ANNANESMN    3   15.06.2019 04:20    0

Ответы
kkostova kkostova  02.10.2020 02:05
Using System;
using System.Collections.Generic;
using System.Linq;

static class Program
{
    static IEnumerable<string> Words(this string Text)
    {
        char[] s = Text.ToCharArray();
        bool isWord = false;
        int left = 0;
            
        for (int i = 0; i < s.Length; i++)
        {
            bool isLetter = Char.IsLetterOrDigit(s[i]);
            if (isLetter && !isWord)
                left = i;

            if (!isLetter && isWord)
            {
                yield return new string(s, left, i - left);
            }

            isWord = isLetter;
        }
    }

    static void Main(string[] args)
    {
        string s = "33 коровы, 33 коровы и стакан чего-то..";

        foreach (var w in s.Words())
            Console.WriteLine("\"{0}\"", w);

        string[] result = s.Words().ToArray(); // так можно получить массив

        Console.ReadKey();
    }
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика