2014-12-02 2 views
0

StringTokenizer를 사용하여 문자열을 토큰으로 분할하려고합니다.자바에서 StringTokenizer를 사용하여 문자열을 토큰으로 분할 할 수 없습니다.

내 코드입니다 : 나는 구분 기호로 공간 (+-*/(),.?)을 사용하고

token are = = = Short 
token are = = = stories 
token are = = = for 
token are = = = kids are 
token are = = = adventurous 
token are = = = and 
token are = = = interesting 
token are = = = ways 
token are = = = to 
token are = = = teach 
token are = = = your 
token are = = = children 
token are = = = about 
token are = = = good 
token are = = = morals 
token are = = = and 
token are = = = right 
token are = = = conduct 

:

String original = "Short stories for kids are adventurous and interesting ways to teach your children about good morals and right conduct."; 
    String delimiters = "+-*/(),.? "; 
    StringTokenizer st = new StringTokenizer(original, delimiters); 
    while (st.hasMoreTokens()) { 
    String w = st.nextToken(); 
    System.out.println("tokens are = = = "+w); 
    } 

이 코드의 출력은 실행하면. kids are이라는 단어가 하나 있습니다. 나는 혼란스러운 결과를 얻고있다. 그러나 그것은 출력을 socked하게되는 무엇인가이다. ... !!! 사실 나는 출력이 공간 (구분 기호)에 의해 분리 된 두 단어라는 것을 믿습니다.

왜 이런 유형의 출력이 나옵니까?

+1

있습니다해야합니까? –

+0

코드를 사용해 보았지만 정상적으로 작동합니다. "kids"와 "are"사이에 다른 공백이 있어야합니다. – soilworker

+1

예상되는 출력을 얻고 있습니다. 어떤 Java 버전을 사용하고 있습니까? 또한 호기심 때문에 프로그램에서 게시 한 출력이 무엇입니까? '='과 출력 사이에 공백이 있지만 코드는 System.out.println입니다 ("토큰 = ="+ w); 어떤 공간도주지 않을 것이다. – Vishal

답변

0

사용중인 Java 버전은 다음과 같습니다.

Java 7에서 시도한 결과 올바른 출력이 인쇄 된 것 같습니다. 이 양식

http://ideone.com/JSW7Ki

출력 : 그것은 작품, 당신은 kids`와`are``사이에 다른 공백 대신에 공간이 없는지 확인

tokens are = = =Short 
tokens are = = =stories 
tokens are = = =for 
tokens are = = =kids 
tokens are = = =are 
tokens are = = =adventurous 
tokens are = = =and 
tokens are = = =interesting 
tokens are = = =ways 
tokens are = = =to 
tokens are = = =teach 
tokens are = = =your 
tokens are = = =children 
tokens are = = =about 
tokens are = = =good 
tokens are = = =morals 
tokens are = = =and 
tokens are = = =right 
tokens are = = =conduct 
+0

안녕하세요 @ gokkk, 나는 또한 자바 7을 사용하고 있습니다. – rajesh

+0

여기, 문자열은 단지 gokkk가 설명하는 방법으로 나뉩니다. – midor

관련 문제