首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查字符是元音还是辅音?

检查字符是元音还是辅音?
EN

Stack Overflow用户
提问于 2013-07-21 01:19:38
回答 13查看 47.5K关注 0票数 18

有没有代码来检查一个字符是元音还是辅音?像char = IsVowel这样的东西?或者需要硬编码?

代码语言:javascript
复制
case ‘a’:
case ‘e’:
case ‘i’:
case ‘o’:
case ‘u’:
case ‘A’:
case ‘E’:
case ‘I’:
case ‘O’:
case ‘U’:
EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2013-07-21 01:25:11

你可以这样做:

代码语言:javascript
复制
char c = ...
bool isVowel = "aeiouAEIOU".IndexOf(c) >= 0;

或者这样:

代码语言:javascript
复制
char c = ...
bool isVowel = "aeiou".IndexOf(c.ToString(), StringComparison.InvariantCultureIgnoreCase) >= 0;

一旦你添加了对éèe̋ȅëêĕe̊æøи等的国际支持,这个字符串就会变得很长,但基本的解决方案是相同的。

票数 38
EN

Stack Overflow用户

发布于 2013-07-21 01:36:23

下面是一个有效的函数:

代码语言:javascript
复制
public static class CharacterExtentions
{
    public static bool IsVowel(this char c)
    {
        long x = (long)(char.ToUpper(c)) - 64;
        if (x*x*x*x*x - 51*x*x*x*x + 914*x*x*x - 6894*x*x + 20205*x - 14175 == 0) return true;
        else return false;
    }
}

像这样使用它:

代码语言:javascript
复制
char c = 'a';
if (c.IsVowel()) { // it's a Vowel!!! }

(是的,it 确实有效,但显然,这是一个笑话的答案。别贬低我。或者其他任何东西。)

票数 8
EN

Stack Overflow用户

发布于 2013-07-21 02:54:04

不是的。你需要首先定义你认为是元音和辅音的东西。例如,在英语中,“y”可以是辅音(如“yes”)或元音(如“by”)。像“é”和“ü”这样的字母可能在所有使用它们的语言中都是元音,但你似乎根本没有考虑到它们。首先,您应该定义为什么要将字母分类为辅音和元音。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17764680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档