자바 String 클래스 메서드 정리

친환경 개발자
|2024. 3. 30. 16:10

String 클래스란?

Java에서 문자열과 관련된 유틸리티 메서드를 모아둔 클래스

 

 

 

 

 

String 클래스 메서드 종류

  1. charAt(인덱스): 해당 인덱스에 있는 문자를 반환
  2. length(): 문자열의 길이를 반환
  3. substring(시작인덱스, 끝인덱스): 시작인덱스부터 끝인덱스 직전까지 문자열 반환, 끝인덱스 생략 시 끝까지 반환
  4. equals(객체): 주어진 객체와 문자열이 같은지 비교(true/false)
  5. indexOf(정수or문자): 문자열에서 해당 문자가 어느 위치에 있는지 인덱스값 반환(없을 경우 -1 반환) 
  6. contains(문자열): 해당 문자열이 포함되어 있는지 확인(true/false)
  7. toLowerCase() / toUpperCase(): 문자열을 소문자/ 대문자로 변환
  8. trim(): 문자열의 앞뒤 공백을 제거
  9. split(구분자): 문자열을 해당 구분자로 나누어 배열로 저장
  10. concat(문자열): 문자열을 이어붙임
  11. replace(변경전,변경후): 해당 문자열을 다른 문자열로 수정
  12. startswith(문자열): 해당 문자열로 시작하는지 여부 확인

 

 

 

 

 

관련 문제

 

[프로그래머스 문제]

문자열 my_string, overwrite_string과 정수 s가 주어지고, 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성하라

 

 

<모범 답안>

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        String before = my_string.substring(0, s);     // 변경할 부분 직전까지의 문자열 추출
        String after = my_string.substring(s + overwrite_string.length());    // 변경할 부분 이후의 문자열 추출
        return before + overwrite_string + after; 
    }
}

 

<내 답안>

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        String t = my_string.substring(s, s + overwrite_string.length());
        String answer = my_string.replace(t, overwrite_string);
        return answer;
    }


변경전 문자열에서 바꿀 문자열만큼 추출해서 변경하는 건 수행되지만,
만약 my_string의 바꿀 내용이 반복된다면, 반복되는 부분 모두가 같이 변경되어버려
오답임