从名称中删除所有元音

3 c# winforms

我正在编写一个Windows窗体应用程序,用户可以在其中指定名称,程序将返回没有人声的名称.但程序如何理解如果名称包含A,E,I,O,U,Y,那么这些字母将被删除.

Bro*_*ass 12

只需删除所有元音(大写相同)并再次将其分配给名称:

string vowels = "aeiouy";
string name = "Some Name with vowels";
name = new string(name.Where(c => !vowels.Contains(c)).ToArray());
Run Code Online (Sandbox Code Playgroud)

  • @AwmaN:这是一个linq查询,它选择一个字符串中所有字符,其中字符不包含在元音字符串中(即`Where`部分) - `ToArray()`将所有这些字符放在一个数组中并且是必要的,因为其中一个字符串构造函数重载将字符数组作为输入(但不适用于枚举) (2认同)

Bon*_*024 6

我知道这是一个较旧的线程,但这里有一个稍微干净/更强大的方法来使用正则表达式来完成此任务。

string name = "Some Name with vowels";

string output = Regex.Replace(name ,"[aeiou]", "", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)