2011년 2월 18일 금요일

[Java] Python의 string.split()은 어떻게?

문자열을 분리하는 걸 일반적인 전문(?) 용어(?)로 Tokenize라고 부른다. C의 strtok()가 가지는 tok라는 이름이 바로 토큰이다. 뭐 용어만 알면 이런거 검색해보면 금방 튀어나온다.

어쨌든 본론으로...

Python 에서 "aaa bbb ccc".split() 을 실행하면 [ "aaa", "bbb", "ccc" ] 가 튀어나온다. Parser 만들기 정말 좋은 언어다.

Java에서는 StringTokenizer라는 괴랄하고 긴 이름의 모듈을 써야 한다.
StringTokenizer st = new StringTokenizer(str);

while (st.hasMoreTokens()) {
  String token = st.nextToken();
  ....
}
물론 Python의 split() 처럼 seperator(delimiter 등으로 칭하기도 한다)를 지정할 수도 있으니 레퍼런스 문서에게 물어보자;;

ps. 이 글은 세삼스럽게 Python의 위대함을 느끼기 위해 Java와 비교하기 위한 엉뚱한 글. ㅋㅋ

댓글 없음 :