Предмет: Информатика,
автор: olyacalina
C#, консоль
Дана строка S. Разделить строку на отдельные слова не используя стандартные средства для разбиения строк
Ответы
Автор ответа:
0
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();
}
}
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();
}
}
Приложения:
Похожие вопросы
Предмет: Математика,
автор: pcheli
Предмет: Қазақ тiлi,
автор: Sanzaraliumerbekov
Предмет: Русский язык,
автор: kellbetovaakmaral424
Предмет: Математика,
автор: Эммаlas
Предмет: Литература,
автор: котёнок6151648