2012-04-10 7 views
4

문자가 아포스트로피인지 확인해야합니다.문자가 아포스트로피인지 확인하는 방법은 무엇입니까?

public boolean isWordCharacter(int c) { 
if ((char) c == '\'') 
    return true; 
else return Character.isLetter(c); 
} 

그러나, 그것은 결코 실제로 if ((char) c == '\'') 부분으로 가져옵니다이 지금까지 내 코드입니다. 내가 확인하는 방식에 문제가 있습니까? 감사!

+1

그 코드는 저에게 잘 보입니다. 당신의 문제는 다른 곳에 있어야합니다. –

+0

'c'를'char'에 던질 필요가 없습니다. –

+1

그 자체로 대답은 아니지만 플랫 문자 구문 분석은 몇 가지 잠재적 인 안티 패턴을 나타냅니다. 필요에 따라 [Java의 정규 표현식 기능] (http://docs.oracle.com/javase/tutorial/essential/regex/)을 고려한 적이 있습니까? – MrGomez

답변

3

캐스팅하지 않고 간단하게 if(c=='\'')을 사용할 수 있습니다. 또는 아포스트로피의 ascii 값인 39. if (c==39)을 사용할 수 있습니다.

이 결코 실제로 '(다 ==) (문자의 경우'\ '')이 들어간 부분이에 대한

유일한 이유는 수 당신이 isWordCharacter에 아포스트로피를 통과하지(). 39 또는 '\''을 수동으로 해당 기능에 전송하여이를 확인할 수 있습니다.

관련 문제