자바 스트링 클래스에는 사용하기 편리하도록 만들어놓은 여러 가지 함수가 있습니다. 이번 포스팅에서는 그 함수들 중 문자열 자르기에 관련된 함수들을 한번 알아보도록 하겠습니다.
SubString
문자열 자르기 하면 가장 먼저 생각나는 함수입니다. 문자열 함수에 익숙해지시면 SubString함수와 다른 함수들을 섞어서 정말 다양하게 활용할 수 있는데요. 사용법에 대해 한번 알아보도록 하겠습니다. 활용 예제로는 마지막 3글자 자르기, 특정 문자 이후의 문자열 자르기, 특정(단어) 부분만 자르기를 준비했습니다.
우선 문자열을 자르기에 앞서 문자열이 어떻게 배치되어있는지 Index값부터 살펴야 문자열을 자를 수 있습니다.
String 클래스 자체가 char을 여러 개 붙여놓은 효과를 주기 때문에 String 클래스의 해당 Index값은 다음과 같습니다. String = char배열이라고 생각하셔도 무방합니다.
//1. 마지막 3글자 자르기
String str = "ABCDEFG";
String result = str.substring(str.length()-3, str.length());
System.out.println(result)
//결과값EFG
//2. 특정문자 이후의 문자열 제거
String str = "ABCD/DEFGH";
String result = str.substring(str.lastIndexOf("/")+1);
System.out.println(result);
//결과값 DEFGH
//3. 특정단어(부분)만 자르기
String str = "바나나 : 1000원, 사과 : 2000원, 배 : 3000원";
String target = "사과";
int target_num = str.indexOf(target);
String result = str.substring(target_num,(str.substring(target_num).indexOf("원")+target_num));
System.out.println(result+"원");
//결과값 : 사과 : 2000원
Split
자바에서는 특정 문자를 기준으로 문자열을 잘라서 배열에 넣어주는 Split이라고 하는 아주 편리한 함수가 있습니다. 일부러 데이터베이스에 +#이런 식으로 문장 끝에 특수기호를 넣어주고 나중에 데이터베이스에서 값을 꺼낼 때는 #으로 Split 해서 사용하는 등 아주 활용도가 높은 함수입니다.
그림을 통해 Split함수를 살펴보겠습니다.
보시는 바와 같이 Split 함수는 String값을 특수기호로 끊어서 배열에 저장시켜줍니다. 활용 예제로는 쉼표(,)로 문자열 잘라서 배열에 넣기와 공백으로 문자열 잘라서 배열에 넣기를 준비했습니다.