我尝试搜索此主题,但找不到任何结果。我的问题是:有什么办法可以找出单词的前缀?无论是“一个”还是“一个”。
例如:
an apple
a house
an old house
an amazon
a vampire
所以我的输入将只是单词,然后函数将返回正确的前缀。
假设所有以元音开头的单词都以“ an”开头,而所有其他单词都以“ a”开头。
string getArticle(string forWord)
{
var vowels = new List<char> { 'A', 'E', 'I', 'O', 'U' };
if (vowels.Contains(char.ToUpper(forWord[0])))
return "an";
return "a";
}
是否可以简化和改进?当然。但是,它应该作为开始的地方。
评论中的链接给出了最全面的答复,但是如果您只是在非常简单地理解该概念之后,将会是这样:
要获取不定冠词(前缀),请传递名词:
public static string prefix(string noun)
{
List<string> vowels = new List<string>(){ "A", "E", "I", "O", "U" };
if (string.IsNullOrWhiteSpace(noun) || noun.Length < 2) return null;
else return vowels.Contains(noun.Substring(0, 1).ToUpper()) ? "An" : "A";
}