Написать программу, которая считывает английский текст из текстового файла и выводит на экран слова, начинающиеся с гласных букв.
Пожалуйсто помогите.!!!
|
Написать программу, которая считывает английский текст из текстового файла и выводит на экран слова, начинающиеся с гласных букв.
Пожалуйсто помогите.!!!
вот то что у меня есть.
using System;
using System.Text;
using System.IO;
class Program
{
static void Main(string[] args)
{
StreamReader f = File.OpenText("file.txt");
string text = f.ReadToEnd();
Console.WriteLine("Исходный текст:");
Console.WriteLine(text);
StringBuilder sb = new StringBuilder(text, text.Length);
for (int i = 0; i < text.Length - 1; i++)
{
if (sb[i] == ' ' && (sb[i + 1] == 'e' || sb[i + 1] == 'y' || sb[i + 1] == 'u' || sb[i + 1] == 'i' || sb[i + 1] == 'o' || sb[i + 1] == 'a' )) sb[i + 1] = (char)(sb[i + 1] - 32);
}
Console.WriteLine("Полученный текст:");
Console.WriteLine(sb);
Console.ReadLine();
}
}
Код:static void Main(string[] args) { StreamReader f = File.OpenText("1.txt"); string text = f.ReadToEnd(); string chars = "eyaiou"; Console.WriteLine("INPUT"); Console.WriteLine(text); string[] words = text.Split(new Char[] { ' ', ',', '.', ':' }); Console.WriteLine("OUTPUT"); foreach (string s in words) if (chars.Contains(s[0].ToString()) && s.Trim()!="") Console.WriteLine(s); }
чёт у меня не пашет?
Код:using System; using System.IO; using System.Text.RegularExpressions; class Program { static void Main(string[] args) { StreamReader fin = new StreamReader("test.txt"); MatchCollection matches = Regex.Matches(fin.ReadToEnd(), @"\b[aeiouyAEIOUY][a-zA-Z\-]*\b"); foreach (Match m in matches) { Console.WriteLine(m.Value); } } }
Последний раз редактировалось Reflector; 16.12.2009 в 00:53.
особенно понравилось этот.е. начало текста(где нет пробела), текст после перевода строки тупо не учитываются...sb[i] == ' ' &&
а вот регулярки здесь самое оно...
Всё всем спасибо ,уже не надо.
using System;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;
class Program
{
static void Main(string[] args)
{
string s = File.ReadAllText("test.txt");
string pattern = @"(\b[a|e|y|u|i|o]+)([a-z]*)";
MatchCollection Matches=Regex.Matches (s,pattern,RegexOptions.IgnoreCase);
foreach (Match value in Matches)
{
Console.WriteLine(value.ToString());
}
Console.ReadLine();
}
}
Работает)
Социальные закладки