0

我正在尝试构建一个函数,如果作为参数的给定字符串是代词,则该函数返回 true。

我想一个很好的方法是检查它是否以大写/大写字母开头。

如果您知道如何更好地判断某事物是否是代词,请告诉我。

但是,为了检查第一个字母是否是大写/大写字母,我该怎么做。

我知道string[0] 会给我第一个字母,但是我将它与什么进行比较以检查它是否是字母表中的任何大写/大写字母?

我现在拥有的代码是

function isPronoun($str){
    $result = false;
    if($str[0]===/*capital letter*/){
        $result=true;
    }
    return $result;
}
4

3 回答 3

3

专有名词如“Mark”、“London”或“Betelgeuse”也以大写字母开头,句子的第一个词也是如此,而“he”或“it”是以小写字母开头的代词。

要识别代词,您需要一个语言解析器,例如Brill Parser

于 2013-06-05T21:38:12.473 回答
0

尝试使用正则表达式

function isPronoun($str){
         return ereg("^[A-Z]", $str);
}
于 2013-06-05T21:37:29.070 回答
0

我认为您的意思是“专有名词”,而不是代词。代词是诸如“我”、“你”之类的东西……

无论如何,尝试这样的事情:

$is_proper_noun = preg_match("(^[A-Z]\w+$)",$word);

请注意,您可以使其更详细,例如:

"(^(?:Ma?c|O')?[A-Z][a-z]+$)"
于 2013-06-05T21:37:54.633 回答