2013-06-05 4 views
0

주어진 문자열이 인수로 대명사 인 경우 true를 반환하는 함수를 작성하려고합니다.문자열이 대명사 인 경우 true를 반환하는 함수

좋은 방법은 대문자/대문자로 시작하는지 확인하는 것입니다.

대명사가 있는지 더 잘 알면 알려 주시기 바랍니다.

그러나 첫 번째 문자가 대문자인지 대문자인지 확인하려면 어떻게해야합니까?

나는 string[0을 알았지 만 첫 번째 편지를 줄 것입니다. 알파벳과 대문자인지 확인하려면 무엇을 비교해야합니까? 내가 지금이

코드는

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

대명사 나 고유 명사 – Orangepill

+3

같은 언어 구문 분석이 필요하십니까? 워싱턴/존슨/오바마는 고유 명사이고, he/she/it은 대명사입니다. 또한 모든 고유 명사가 대문자로 시작하는 것은 아닙니다 : iPhone, iPod, iTunes 등 – MikeB

+0

문자열에 1 단어 이상이 포함되면 어떻게됩니까? – GGio

답변

2
대명사는

어쨌든, 이런 식으로 뭔가를하려고 ... "I", "귀하"와 같은 것들

"mark", "London"또는 "Betelgeuse"와 같은 올바른 명사는 문장의 첫 번째 단어와 마찬가지로 대문자로 시작하지만 "he"또는 "it"은 소문자로 된 대명사입니다.

가 대명사를 확인하려면, 당신은 당신이 고유 명사를 의미합니까 이러한 Brill Parser

+1

+1 "Betelgeuse"- "Ford"와 더 잘 어울릴 것입니다 : p –

+1

또는 심지어 임원 : –

+0

함께 모든 froods! –

0

function isPronoun($str){ 
     return ereg("^[A-Z]", $str); 
} 
+0

이것은 This와 같은 항목과 일치하지만 This는 아닙니다. –

+0

@Kolink thanks, updated –

0

난 당신이 "고유 명사"를 의미하는 생각 대명사하지 정규 표현식 시도이다. 예를 들어 당신이 더 정교 할 수

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

참고 :

"(^(?:Ma?c|O')?[A-Z][a-z]+$)" 
+0

두 번째 정규식은 무엇을합니까? 나는 그걸 이해할 수 없다. –

+0

두 번째 정규식은 기본적으로 첫 번째 문자가 대문자 만 허용하고 다른 모든 문자는 소문자 여야합니다 (다른 것들 중에서도) 두문자어의 고유 명사가 그렇듯이. 처음에는 "McDonald", "MacGuffin"또는 "O'Reilley"와 같은 이름을 사용할 수 있습니다. 아직 완료되지 않았으므로 Al'Sudiary 또는 DiNozzo는 허용되지 않습니다. –

관련 문제