문자열 자르기(substring, split)

oh_eol·2024년 1월 9일
0

Java Study

목록 보기
2/3
post-thumbnail

String 클래스는 인덱스 0으로 시작하는 char의 배열과 같다. 이런 문자열을 자르기 위해서는 substring 함수와 split 함수가 있다. 예제로 알아보자.

SubString

start와 end를 가지고 문자열을 자른다.

  • String.substring(start) : 문자열의 start 위치부터 까지 문자열을 자른다.
  • String.substring(start, end) : 문자열의 start 위치부터 end 전까지 문자열을 자른다.

예제

// 1. 기본형
String str = "ABCDEFG";
str.substring(3); // DEFG
str.substring(3, 6); // DEF 

// 2. 마지막 세 글자 자르기
String str = "ABCDEFG";
str.substring(str.length()-3, str.length()); // EFG

// 3. 특정 문자 이후의 문자열 자르기
String str = "ABCD/EFG";
str.substring(str.lastIndexOf("/")+1); // EFG

// 4. 특정 단어를 포함한 원하는 문장 자르기
String str = "캘리포니아의 도로는 뜨겁고 하늘은 맑고 거리는 위험하다.";
int target_num = str.indexOf("하늘");
// '고'가 앞에도 있으니 하늘로 시작하는 문장 뒤의 '고'가 위치하는 index 전까지의 원하는 부분을 발췌, 다시 특정 단어의 인덱스를 더하여 원하는 문장 발췌.
String result = str.substring(target_num,(str.substring(target_num).indexOf("고")+target_num));
System.out.println(result + "다."); // 하늘은 맑다.

Split

특정 문자를 기준으로 문자열을 잘라서 배열에 넣는다.

예제

// 1. 쉼표(",")로 문자열 잘라서 배열에 넣기
String str = "A,B,C,D,E";
String[] array = str.split(",");
for(String st : array) {
	System.out.println(st);
}
// 결과값
// A
// B
// C
// D
// E

// 2. 공백(" ")으로 문자열 잘라서 배열에 넣기
String str = "관상이 참 좋으시네요";
String[] array = str.split(" ");
for(String st : array) {
	System.out.println(st);
}
// 결과값
// 관상이
// 참
// 좋으시네요

profile
공부 중입니다.

0개의 댓글