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하게되는 무엇인가이다. ... !!! 사실 나는 출력이 공간 (구분 기호)에 의해 분리 된 두 단어라는 것을 믿습니다.
왜 이런 유형의 출력이 나옵니까?
있습니다해야합니까? –
코드를 사용해 보았지만 정상적으로 작동합니다. "kids"와 "are"사이에 다른 공백이 있어야합니다. – soilworker
예상되는 출력을 얻고 있습니다. 어떤 Java 버전을 사용하고 있습니까? 또한 호기심 때문에 프로그램에서 게시 한 출력이 무엇입니까? '='과 출력 사이에 공백이 있지만 코드는 System.out.println입니다 ("토큰 = ="+ w); 어떤 공간도주지 않을 것이다. – Vishal