我有一个.NET应用程序,给定一个名词,我希望它正确地用"a"或"an"作为该单词的前缀.我该怎么办?
在您认为答案是简单地检查第一个字母是否是元音之前,请考虑以下短语:
是否有任何.NET库用于确定名词的Indefinite Article?
我的粗略尝试是在下面,这可能适用于我的99%的使用(这是可以接受的)只是想知道是否有任何已建立的替代方案?
public static string GetIndefinateArticle(string noun)
{
if(string.IsNullOrEmpty(noun))
return noun;
var first = noun[0];
if(first == 'a' ||
first == 'e' ||
first == 'i' ||
first == 'o')
return "an " + noun;
return "a " + noun;
}
Run Code Online (Sandbox Code Playgroud)
更新:Eamon在评论中指出了一个重复的问题:如何正确地在单词前加上"a"和"an"?我会把这个Q留在这里然后打开,因为我还没有真正得到答案.
可能重复:以
编程方式确定是否用"a"或"an"描述对象?
我需要输出这样一句话:
Are you An American?
Run Code Online (Sandbox Code Playgroud)
要么:
Are you A German?
Run Code Online (Sandbox Code Playgroud)
我有国家/地区名称,但我需要找到该国家/地区名称的正确文章A或An.
有没有为指出,实现与所有例外语法规则的任何PHP库/效用函数在这里?我想过Zend_Locale但没有找到足够的东西.
我也用谷歌搜索,但"A vs An PHP"结果并没有真正的帮助.