2012-01-30 4 views
2

파일에서 코드를 읽는 토크 나이저를 작성 중이며 문자열 상수를 처리하는 케이스 (큰 따옴표로 시작하고 끝나는 모든 토큰)로 분기하는 데 어려움이 있습니다.Java에서 문자열의 큰 따옴표를 어떻게 감지합니까?

나는 지점에 대해 쓴 조건은 token가에서 읽은 문자열입니다

if (token.charAt(0) == '"') { // Do some stuff }

이다. 또한

, 나는 또한

if (token.startsWith("\"")) { // Do some stuff }

을 시도했습니다

디버거를 확인했지만 여전히 분기 이브를 입력하는 것을 거부합니다. 문자열 필드에 "Paris"과 같은 유효한 경우는 n [”, P, a, r, i, s, ”]

모든 의견을 환영합니다.

+1

기울임 괄호'''는 지정한 이중 따옴표' "와 다릅니다. – Dawood

답변

3

왼쪽 및 오른쪽 큰 따옴표는 표준 따옴표 "과 다릅니다. 문자열에서 replace()을 수행하여 모든 왼쪽 및 오른쪽 큰 따옴표를 토큰 화하기 전에 표준 큰 따옴표로 바꾸십시오.

+0

와우, 당신은 절대적으로 맞습니다. 표준 따옴표 이외의 다른 것이 사용되지는 않았습니다 , 감사. – JHuynh

관련 문제