Проблема с преобразованием массива char в строку в C#, если в массиве есть две одинаковые записи - PullRequest
0 голосов
/ 24 апреля 2020

Во-первых, извините за мой бедный английский 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();

Большое спасибо за ваше время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...