Java

Java 문자열 처리

jmboy 2024. 4. 4. 17:53

String

  • Java에서 String 은 불변하다. 필드에 String을 새로 주면 String을 바꾸는것이 아니라 참조하는 메모리 값을 바꾸는것이다. 즉, 문자는 new 객체로 새로 생긴다.

StringTokenizer

  • String 을 Token화 시키는것.
  • 사용법
  • //1. 띄어쓰기 기준으로 문자열을 분리 StringTokenizer st = new StringTokenizer(문자열); //2. 구분자를 기준으로 문자열을 분리 StringTokenizer st = new StringTokenizer(문자열, 구분자); /* 3. 구분자를 기준으로 문자열을 분리할 때 구분자도 토큰으로 넣는다. (true) * 구분자를 분리된 문자열 토큰에 포함 시키지 않는다. (false) * (디폴트 : false) */ StringTokenizer st = new StringTokenizer(문자열 , 구분자 , true/false);
String str = “Hello Jason”;
StringTokenizer st = new StringTokenizer(str);
// str안의 문자열을 띄어쓰기 기준으로 나눔. 
//HasMoreTokens로 뒤의 토큰이 더 남았는지 확인.
 while (st.hasMoreTokens()) {
            System.out.println(st.nextToken());
}
StringTokenizer st = new StringTokenizer(str,",");
// , 를 기준으로 나눔.

StringBuilder

StringBuilder sb = new StringBuilder("Hello"); sb.append(" World");

  • 기존의 StringBuilder 객체에 추가가 된다.
  • StringBuilder는 정수형, double 형도 문자로 추가가 가능하다.

StringBuffer

StringBuffer sb = new StringBuffer("Hello"); sb.append(" World");

// 기존의 StringBuffer 객체에 추가가 된다.

- StringBuffer와 다르게 멀티쓰레드 환경에서 안정적이지 않으며, StringBuilder는 싱글쓰레드 환경에서 StringBuffer보다 더 빠른 성능을 가집니다.

substring()

  • String 클래스에 있는 메서드
  • Str.subString( startind, endindx)
    • 시작부터 end -1까지 의 문자열을 잘라낸다.
  • Str.subString(idx)
    • idx부터 맨 끝까지의 문자열을 잘라낸다.