IT/Java
StringTokenizer,StringBuffer,StringBuilder 클래스
딩딩예
2019. 7. 18. 00:30
StringTokenizer 클래스
1. split() 메소드
- 정규표현식을 구분자로해서 부분 문자열을 분리한 후 배열에 저장하고 리턴한다.
String[] result = "문자열".split("정규 표현식");
String text = "학생/학생2,학생3&학생4";
String []name =text.split("/|,|&");
2. StringTokenizer 클래스
- 문자열이 한 종류의 구분자로 연결되어 있을 경우.
- 구분자를 생략하면 공백(Space)이 기본 구분자가 된다.
String text = "학생/학생2/학생3";
StringTokenizer st = new StringTokenizer(text,"/");
메소드 | 설명 | |
---|---|---|
int | countTokens() | 꺼내지 않고 남아 있는 토큰의 수 |
boolean | hasMoreTokens() | 남아 있는 토큰이 있는지 여부 |
String | nextToken() | 토큰을 하나씩 꺼내옴 |
st = new StringTokenizer(text,"/");
while(st.hasMoreTokens()) {
String token = st.nextToken();
System.out.println(token);
}
StringBuffer, StringBuilder 클래스
- 문자열 결합 연산자 +
String data = "ABC";
data += "DEF";
- 문자열을 결합하는 + 연산자를 많이 사용하면 할수록 그만큼 String 객체의 수가 늘어나기 때문에
- StringBuffer, StringBuilder
- 버퍼(buffer: 데이터를 임시로 저장하는 메모리)에 문자열을 저장한다.
- 버퍼 내부에서 추가, 수정, 삭제 작업을 할 수 있다.
- 멀티 스레드 환경 : StringBuffer를 사용
- 단일 스레드 환경 : StringBuilder를 사용
```java
StringBuilder sb = new StringBuilder();
StringBuilder sb = new StringBuilder(16);
StringBuilder sb = new StringBuilder("Java");
```
메소드 | 설명 |
---|---|
append(...) | 문자열 끝에 주어진 매개값을 추가 |
insert(int offset, ...) | 문자열 중간에 주어진 매개값을 추가 |
delete(int start, int end) | 문자열의 일부분을 삭제 |
deleteCharAt(int index) | 문자열에서 주어진 index의 문자를 삭제 |
replacs(int start, int end, String str) | 문자열의 일부분을 다른 문자열로 대치 |
StringBuilder reverse() | 문자열의 순서를 뒤바꿈 |
setCharAt(int index, char ch) | 문자열에서 주어진 index의 문자를 다른 문자로 대치 |