알고리즘 문제를 풀다보면 문자열을 잘라서 사용해야 하는 경우가 있다. 자바에서 문자열을 자르는 방법중에 대표적인 방법으로 Substring과 Split함수가 있다. 둘의 차이점은 Substring은 인덱스를 기준으로 문자열을 잘라 문자열을 반환하고, Split은 사용자가 지정한 특정 기준으로 문자열을 잘라 배열로 반환한다.
1. Substring
사용법
String.substring(start)
String.substring(start,end)
String str = "ABCDEFG";
str.substring(3);
str.substring(3, 6);
활용예제
String str = "ABCDEFG";
String result = str.substring(str.length()-3, str.length());
System.out.println(result)
String str = "ABCD/DEFGH";
String result = str.substring(str.lastIndexOf("/")+1);
System.out.println(result);
String str = "바나나 : 1000원, 사과 : 2000원, 배 : 3000원";
String target = "사과";
int target_num = str.indexOf(target);
String result; result = str.substring(target_num,(str.substring(target_num).indexOf("원")+target_num));
System.out.println(result+"원");
2. Split
사용법
문자열배열 = 대상문자열.split("기준문자");
String str = "";
for(int i=0;i<5;i++) {
str += i+"#";
}
String[] array = str.split("#");
for(int i=0;i<array.length;i++) {
System.out.println(array[i]);
}
활용예제
String str = "A,B,C,D";
String[] array = str.split(",");
for(int i=0;i<array.length;i++) {
System.out.println(array[i]);
}
String str = "동해물과 백두산이 마르고 닳도록 하나님이 보우하사 우리나라 만세";
String[] array = str.split(" ");
for(int i=0;i<array.length;i++) {
System.out.println(array[i]);
}
출처: [Java] 문자열 자르기(Substring, Split) 사용법 & 예제 (tistory.com)