Автор - olyacalina

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

Ответ

Автор - kitchenrecords
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();
    }
}

Ответы и объяснения

Сервис носит ознакомительный характер, вся информация, а в частности вопросы и ответы, которые задают и отвечают пользователи.
© 2025 Все права защищены Политика конфиденциальности Контакты
search points attachment profile arrow left arrow right star heart verified symbols equation arrow-down question mark check menu accountancyadministrationagriculturalalgebraallarabicartart_musicbelarusbelarus_altbiologybusinesscatalachemistrychineseeconomicsegzamenglishentrepreneurshipenvironmentethicseuskarafirst_aidfrenchgalegogeographygeologygeometrygermangrammarhealthhistoryindia_langindonesian_langinformaticsitalianjapanesekazachkazach_altkoreanlanguagelatinlawlife_scienceliteraturelogicmathematicsmusicnigerian_langother_languagesotherspedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligionrpa_langrussianrussian_altsciencesecurityskillssocial_sciencesociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation accountancyadministrationagriculturalalgebraall_1arabicartart_music_2belarusbelarus_altbiologybusiness_2catalachemistry_1chineseeconomicsexam_3englishentrepreneurshipenvironment_2ethicseuskarasecurity_1frenchgalegogeography_4geology_4geometrygermangrammarhealthhistoryindia-langindonesian-langinformaticsitalianjapanesekazachAsset 230koreanlanguagelatinlawlife-scienceliteraturelogic_2mathematicsmusicnigerian-langotherlanguagesother_1pedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligion_1rpa-langrussianrussian_altsciencesecurity_3_mskills_1allsocial_science_5_msociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation