Во-первых, извините за мой бедный английский sh. Я довольно новичок в этом веб-сайте и в программировании в целом, но я провел несколько исследований, чтобы найти решение этой проблемы.
Я делаю небольшую программу, которая принимает строку в качестве входных данных, и возвращает ту же строку, кроме гласных.
Мой метод состоит в том, чтобы преобразовать каждое слово строки в массив символов, удалить гласные с помощью array.Except и преобразовать массив в строку.
Проблема в том, что когда слово содержит две одинаковые буквы, последняя строка содержит только одну.
Например, «проигравшие» становятся «lsr» вместо «lsrs».
Можете ли вы помочь мне с этим?
Мой код показан ниже:
string str = "Sample phrase to test";
string[] words;
words = str.Split(new[] { " " }, StringSplitOptions.None);
int compteurRetourne;
for(compteurRetourne = 0; compteurRetourne < words.Length; compteurRetourne++)
{
char[] arr = words[compteurRetourne].ToCharArray();
arr = arr.Except(new List<char> { 'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U' }).ToArray();
words[compteurRetourne] = new string(arr);
}
str = string.Join(" ", words);
Console.WriteLine(str);
Console.ReadLine();
Большое спасибо за ваше время.