개발도생's Blog
[Java][Class] StringTokenizer 본문
평소 유용하게 사용하고 있는 객체 StringTokenizer를 공부해봤다.
StringTokenizer Class는,
단순하게 표현한다면 문자들을 토큰화 시켜준다고 이해하면 편할 것 같다.
토큰으로 분리된 문자들을 StringTokenizer Class에 저장해두었다가 반환해준다.
StringTokenizer Class를 사용하기 전에!
- StringTokenizer는 문자열을 토큰으로 나누는 객체다.
- java.util에 포함된 자체 Class이기 때문에 import를 한 후 바로 사용이 가능하다.
StringTokenizer 생성자
StringTokenizer를 사용할 때 3가지 방법으로 사용할 수 있다.
// 1. 띄어쓰기 기준으로 문자열을 분리
StringTokenizer st = new StringTokenizer("문자열")
// 2. 구분자(delim)를 기준으로 문자열을 분리
StringTokenizer st = new StringTokenizer("문자열","구분자")
/*
* 3.구분자를 기준으로 문자열을 분리할 때 구분자도 토큰으로 넣으면(true)
* 구분자를 분리된 문자열 토큰에 포함 시키지 않는다면(false)
* default : false
*/
StringTokenizer st = new StringTokenizer("문자열","구분자", true/false)
1. 문자열을 띄어쓰기 기준으로 분리하는 방법
public class StringTokenizer {
public static void main(String[] args) {
StringTokenizer st = new StringTokenizer("반갑습니다 저는 홍길동입니다 잘 부탁드립니다");
while (true) {
System.out.println(st.nextToken());
}
}
}
/*
* 분리된 토큰을 nextToken() 메서드를 사용해 순서대로 반환하도록 했다.
*/
반갑습니다
저는
홍길동입니다
잘
부탁드립니다
2. 구분자(delim)를 기준으로 분리하는 방법
public class StringTokenizer {
public static void main(String[] args) {
StringTokenizer st = new StringTokenizer("안녕하세요,반갑습니다,감사합니다", ",");
while (true) {
System.out.println(st.nextToken());
}
}
}
안녕하세요
반갑습니다
감사합니다
3. true/false를 사용해 구분자를 포함시켜주는 방법
public class StringTokenizer {
public static void main(String[] args) {
StringTokenizer st = new StringTokenizer("안녕하세요,반갑습니다,감사합니다", ",", true);
while (true) {
System.out.println(st.nextToken());
}
}
}
// 구분자(,)까지 토큰에 저장되어 반환된 것을 확인할 수 있다.
안녕하세요
,
반갑습니다
,
감사합니다
StringTokenizer 메서드
countTokens() | - 토큰의 갯수를 반환한다. |
nextToken() | - 다음 토큰을 반환한다. - 이전 토큰은 제거된다. |
nextToken(String delim) | - 구분문자(delimiter)를 delim으로 바꾼 후 바뀐 다음 토큰을 반환한다. EX) "안녕하세요!1반갑습니다", "!1" 로 구분을 해준 후 st.nextToken("!")으로 출력하게 되면 "안녕하세요", "1반갑습니다" 로 반환된다. |
hasMoreTokens() | - 리턴할 다음 토큰이 있다면 true로 이후 토큰이 없으면 false로 반환된다. |
혹시나 더 많은 정보를 공유해주실 수 있거나, 해당 클래스에 중요한 내용이 빠져있다면 댓글로 공유해주시면 감사하겠습니다.
더 깊이 공부해서 보다 좋은 내용과 유익한 정보를 제공할 수 있도록 하겠습니다!
'Java > Class' 카테고리의 다른 글
[Java][Class] Random (0) | 2023.03.20 |
---|---|
클래스(Class), 객체(Object), 인스턴스(Instance) (0) | 2022.12.20 |
[Java][Class] BufferedWriter (0) | 2022.12.15 |
[Java][Class] StringBuilder (0) | 2022.12.09 |
[Java][Class] Bufferedreader (0) | 2022.11.29 |
Comments