혼자공부

[Java] substring, charAt, split의 차이

선SEON 2023. 10. 19. 13:39

프로그래머스 문제 풀다가 확실하게 정리해두려고 찾아봄

 

substring

  • 문자열의 일부분을 추출하는 데 사용
  • 매개변수로 시작 및 종료 위치를 지정, 시작 위치부터 종료 위치 '직전'까지의 문자열을 반환
  • ex) substring(2, 5) 는 문자열 2번 인덱스부터 4번 인덱스까지의 문자열을 반환
  • 반환 값은 문자열 자체이며, 원래 문자열은 변경되지 않음
String str = "Hello, World";
String sub = str.substring(7, 12);
// sub에는 "World"가 저장됨

 

charAt

  • 문자열에서 특정 인덱스 위치에 있는 문자를 추출하는 데 사용
  • 매개변수로 추출하려는 문자의 인덱스 지정
  • 반환 값은 해당 위치의 문자
  • 문자열의 길이를 벗어난 인덱스를 사용시, 'IndexOutOfBoundsException' 예외가 발생할 수도 있음
String str = "Hello, World";
char ch = str.charAt(7);
// ch에는 'W'가 저장됨

 

split

  • 문자열을 지정된 구분자(일반적으로 문자열 형태)를 기준으로 나누어 문자열 배열로 반환
  • 반환된 배열은 원래 문자열을 구분자 기준으로 여러 부분으로 분할한 결과를 담고 있음
  •  
String str = "apple,banana,grape";
String[] fruits = str.split(",");
// fruits 배열에는 ["apple", "banana", "grape"]가 저장됨

<차이점 비교>

  • substring은 문자열에서 일부분을 추출하여 새로운 문자열을 반환
  • charAt은 문자열에서 특정 인덱스 위치에 있는 문자를 반환
  • split은 문자열을 구분자를 기준으로 분할하여 문자열 배열로 반환