공부 자료/자바[JAVA]
[JAVA] 문자열 구분 split (구분자 여러개/특수기호 등)
희희웃는청바지
2023. 8. 19. 16:44
문자열에서 구분자를 지정하여 문자열을 분할하고 싶은 경우 split을 사용
String[] split(String regex) : 인자로 주어진 정규식과 매치되는 문자열을 구분자로 분할
String[p] split(String regex, int limit) : 인자로 주어진 정규식과 매치되는 문자열을 구분자로 분할하되, 두 번째 인자로 정규식 적용 횟수 제한이 가능
1. 하나의 문자(구분자)로 구분하는 경우 (공백 혹은 띄어쓰기 포함)
String str = "appleSbananaSorange";
// S를 기준으로 구분 - 출력: [apple, banana, orange]
String[] arr = str.split("S");
2. 정규식 메타문자를 구분자로 구분하는 경우
String str = "apple?banana?orange";
// ?를 기준으로 구분 - 출력 : [apple, banana, orange]
String[] arr = str.split("\\?");
* 정규식 메타문자(정규표현식) : ([{\^-=$|]})?*+.
>> 메타문자를 사용하여 구분자의 조건을 정할 수 있음
ex) [x]+ : x문자를 하나로 보며 x바로 앞에 문자가 하나 이상인 경우
2022.10.22 - [공부 자료/기타] - [기타] 정규표현식 (계속 새로운 정규표현식 업데이트 예정)
3. 구분자가 한 개가 아닌 여러개로 구분하는 경우
String str = "appleSbananaAAorange";
// S와 AA가 구분자인 경우 - 출력: [apple, banana, orange]
String[] arr = str.split("S|AA");
4. 구분자의 문자 길이가 1이 아닌 경우
String str = "apple;banana;,orange";
// ;,인 경우만 구분 - 출력 : [apple;banana, orange] >> 2개로 구분
String[] arr = str.split(;,);
// ;와,모두 구분 - 출력 : [apple, banana, orange] >> 3개로 구분
String[] arr = str.split([;,]);