我正在尝试构建一个函数,如果作为参数的给定字符串是代词,则返回true。
我认为这样做的一个好方法是检查它是否以大写/大写字母开头。
如果你知道如果有什么东西是代词,那么告诉我的更好。
但是,为了检查第一个字母是大写/大写字母,我该怎么办呢。
我知道string[0
]会给我第一个字母,但我该如何比较它以检查它是否是字母表中的任何大写/大写字母?
我现在的代码是
function isPronoun($str){
$result = false;
if($str[0]===/*capital letter*/){
$result=true;
}
return $result;
}
答案 0 :(得分:3)
诸如“Mark”,“London”或“Betelgeuse”之类的专有名词也以大写字母开头,句子的第一个单词也是如此,而“he”或“it”是以小写字母开头的代词
要识别代词,您需要一个语言解析器,例如Brill Parser。
答案 1 :(得分:0)
尝试使用正则表达式
function isPronoun($str){
return ereg("^[A-Z]", $str);
}
答案 2 :(得分:0)
我认为你的意思是“正确的名词”,而不是代名词。代词就像“我”,“你”......
无论如何,尝试这样的事情:
$is_proper_noun = preg_match("(^[A-Z]\w+$)",$word);
请注意,您可以更详细地说明这一点,例如:
"(^(?:Ma?c|O')?[A-Z][a-z]+$)"