валя360
04.02.2020 20:59

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

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
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();
    }
}
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота