프로그래밍/Java
[Java] String split()메서드
JBisCode
2023. 8. 20. 22:48
목차

✅ Split()
이번주 문제를 푸는 도중에 split()을 사용하는 문제가 나왔는데 기본적으로 한가지 구분자를 이용해서 나누는것은 많이 해봤는데 문제에서 제시한내용은 여러가지 구분자를 이용해서 문자열을 나누는 문제였다. 또, 가끔씩 구분자를 넣었을때 잘 작동안하는 문자열이 있으면 어떻게 해야할지 알아보자
✔︎ 기본적인 split()
public class SplitExample {
public static void main(String[] args) {
String text = "apple,banana,orange,grape";
// 문자열을 쉼표(,)를 구분자로 나누어 배열로 반환
String[] fruits = text.split(",");
for (String fruit : fruits) {
System.out.println(fruit);
}
}
}
일반적으로는 “과” 사이에 구분을 할 문자를 담으면 되지만 가끔 ?와 같은 문자열을 넣었을떄 동작하지 않을때가있다.
✔︎ split()이 잘 작동하지 않을때
public class SplitExample {
public static void main(String[] args) {
String text = "apple?banana?orange?grape";
// 문자열을 쉼표(,)를 구분자로 나누어 배열로 반환
String[] fruits = text.split("\\?");
for (String fruit : fruits) {
System.out.println(fruit);
}
}
}
이럴때는 \\를 이용해서 탈출구문을 사용해서 특별하게 처리를 해주면 해결된다.
✔︎ 여러가지 구분자로 split()사용할떄
public class SplitExample {
public static void main(String[] args) {
String text = "apple,banana;orange|grape";
// 정규식을 활용하여 쉼표(,), 세미콜론(;), 수직 바(|)를 구분자로 나누어 배열로 반환
String[] fruits = text.split("[,;|]");
for (String fruit : fruits) {
System.out.println(fruit);
}
}
}
여러가지 구분자를 사용할때에는 []사이에 구분자로 사용할 문자들을 담아준뒤 “”사이에 넣어주면된다.