split 함수 사용법
split 함수는 보통 문자열 안에 들어있는 구분자 패턴을 이용해 문자열을 나누는 데 사용합니다.
이 함수는 여러분이 필요한 문자열을 뽑아 내는데 아주 쉽고 유용하게 쓰이므로
배워두면 쓸 일이 많을 것 같습니다.
아래는 split 함수의 문법입니다.
첫번째 함수는 반환형은 String이며 인자는 정규 형식의 문자열로 모든 구분자를 나누게됩니다.
두번째 함수도 비슷하지만 인자 int limit을 받아 문자열을 모두 나누는 것이 아니라
나눌 수 있는 횟수를 정하여 split을 적용시키게 됩니다.
public String split(String regex)
public String split(String regex, int limit)
문자열 배열로 나누기
아래 소스는 간단하게 문자열을 split사용으로 구분해 놓았습니다.
"ABCD,EFG" 문자열 안에 있는 ','를 구분자 삼아 temp라는 배열 변수에 집어 넣었고
0번째 인덱스와 1번째 인덱스로 나누어 졌습니다.
결과 값은 result와 같습니다.
public class ParserTest {
String str = "ABCD,EFG";
String temp [];
@Test
public void Test() {
// 구분자
temp = str.split(",");
System.out.println("0번 째 인덱스의 구분자 ::: "+temp[0]);
System.out.println("1번 째 인덱스의 구분자 ::: "+temp[1]);
/*
* result
* 0번 째 인덱스의 구분자 ::: ABCD
* 1번 째 인덱스의 구분자 ::: EFG
* */
}
}
아래와 같이 for문을 사용해 뽑아 낼 수도 있습니다.
public class ParserTest {
String str = "ABCD,EFG";
String temp [];
@Test
public void Test() {
// 구분자
temp = str.split(",");
for(String strTemp: temp) {
System.out.println(strTemp);
}
/*
* result
* ABCD
* EFG
* */
}
}
구분자를 사용해 원하는 문자열 가져오기
문자열 중 구분자를 통해 원하는 문자열을 잘라내 가져올 수 있습니다.
소스는 아래와 같습니다.
아래 소스는 띄어쓰기를 통하여 구분자를 지었습니다.
인덱스 구분은 0 = '가져오고', 1 = '싶은', 2 = '문자열은', 3 = '바로', 4 = '이것', 5 = '입니다.' 가 되겠습니다.
public class ParserTest {
String str = "가져오고 싶은 문자열은 바로 이것 입니다.";
String tempStr = "";
@Test
public void Test() {
// 구분자
tempStr = str.split("\\s")[4];
System.out.println(tempStr);
/*reuslt
* 이것
* */
}
}
이렇게 split을 사용 하는 방법을 알아봤습니다.
split 함수는 사용자가 원하는 문자열을 파싱할 때 자주 쓰이는 함수입니다.
저도 자주 쓰는 편이구요.
이 글이 도움이 되셨으면 좋겠습니다.
그리고 잘못된 점이 있다면 댓글에 남겨주시면 감사하겠습니다.