JAVA 9강_2_String 클래스 (문자열 추가, 교체, 추출, StringTokenizer)

열라뽕따히·2024년 2월 25일

JAVA

목록 보기
56/79

String 클래스의 단점

  • 빈번하게 문자열 연산을 진행할 경우 메모리를 많이 차지하게 됨

  • 매번 연산 할때마다 새로운 객체를 생성하게 됨
    ==> 메모리 영역의 과부하가 발생할 가능성이 큼

  • 이러한 다점을 개선한 클래스가 등장 함
    ==> StringBuffer 클래스





<예시1>

  • append( ) : 문자열을 추가
  • replace( ) : 문자열을 교체
  • substring( ) : 문자열을 추출




=============================코드=============================

public static void main(String[] args) {
		
		StringBuffer sb = new StringBuffer("java ");
		
		// 1. append() : 문자열을 추가해주는 메서드
		System.out.println("문자열 추가 후 >>> " + sb.append("program"));
		System.out.println();
		
		// 2. replace() : 문자열을 교체하는 메서드
		//    형식) replace(시작 index, 끝(-1) index, "교체할 문자열")
		sb.replace(0, 4, "python");
		
		System.out.println("문자열 교체 후 >>> " + sb);
		System.out.println();
		
		// 3. substring() : 문자열을 추출하는 메서드
		//    형식1) substring(시작 index, 끝(-1) index)
		//    형식2) substring(시작 index)    ==> 문자열 끝까지
		StringBuffer sb2 = new StringBuffer("2024/02/19 15:07:24");
		System.out.println("오늘 날짜 >>> " + sb2.substring(0, 10));  
		System.out.println("현재 시간 >>> " + sb2.substring(11));
		System.out.println();
		
		System.out.println("reverse() >>> " + sb.reverse());

	}

=============================실행=============================





<예시2>

StringTokenizer 클래스

  • 기준문자(delimiter)를 기준으로 문자열을 잘라 주는(파싱) 클래스
  • 기준 문자로 분리된 문자열을 토큰(token)이라고 함
  • 웹에서 전화번호를 하이픈(-)을 기준으로 앞자리, 중간자리, 뒷자리 형식으로 구분해서 번호를 추출할 때 사용함
    예) 주민번호, 핸드폰 번호 등등

countTokens( ) : 기준 문자로 분리된 토큰의 갯수를 정수값으로 반환

hasMoreTokens( ) : 반환할 다음 토큰이 있는지를 확인. 있으면 true 값을 반환. 없으면 false 값을 반환

nextToken( ) : 존재하는 토큰을 문자열로 반환




=============================코드=============================

public static void main(String[] args) {
		
		String str = "id-hong&pwd=1234&name=홍길동&age=27&phone=010-1111-1234&addr=서울시 구로구";
		
		StringTokenizer st = new StringTokenizer(str, "&");
		
		// countTokens() : 기준 문자로 분리된 토큰의 갯수를 정수값으로 반환해주는 메서드
		System.out.println("토큰 수 >>> " + st.countTokens());
		
		// hasMoreTokens() : 반환할 다음 토큰이 있는지를 확인하는 메서드
		//                   있으면 true 값을 반환. 없으면 false 값을 반환
		while(st.hasMoreTokens()) {
			
		//nextToken() : 존재하는 토큰을 문자열로 반환해주는 메서드
			System.out.println(st.nextToken());
			
		}

	}

=============================실행=============================

0개의 댓글