Вывести на экран слова, начинающиеся с гласной - C#
Формулировка задачи:
Здравствуйте! У меня было задание : написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв. Я составила, все хорошо , все идет. Но препод добавил к исходному тексту прямую речь. И поэтому не выводит слова , начинающиеся с гласной буквы после кавычек и тире. Вот код и скрины (не знаю понятно ли объяснила).
Если между кавычками и сломом стоит пробел, то все выводит, но препод поругал меня за пробелы. ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО!
using System;
using System.IO;
using System.Text.RegularExpressions;
static class Program { }
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string text = File.ReadAllText(@"C:\Users\USER\Desktop\file.txt");
Console.WriteLine("Исходный текст:\\n{0}", text);
string[] split = text.Split(" .,?!;:".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < split.Length; i++)
{
if (Regex.IsMatch(split[i], @"^[aeioyu]", RegexOptions.IgnoreCase))
Console.WriteLine(split[i]);
}
Console.ReadLine();
}
}
}Решение задачи: «Вывести на экран слова, начинающиеся с гласной»
textual
Листинг программы
string text = "SADgsdgsdg : \"agsdsdg 23451243\" !sdgadsa !as!oasf :-\"abc\"";
Console.WriteLine("Исходный текст: {0}", text);
const string vowels = "aeioyu";
string[] split = text.Split(new[]{'.',',','?','!',';',':','\"','-','+'}, StringSplitOptions.RemoveEmptyEntries);
foreach (var word in split)
{
if (vowels.Any(x=> x==word[0]))
Console.WriteLine(word);
}