Skill/spring

java "|" 를 구분자로 하여 문자 자르기

진열사랑 2024. 3. 6. 10:20

출처: https://hajoung56.tistory.com/m/86


"|" 를 구분자로 하여 문자 자르기
split으로 문자열을 자르다 보면 "|" 문자를 기준으로 자를 경우가 생기기도 합니다.

하지만 아래와 같이  "|"로 자를 경우, 다른 문자로 자를 경우와 결과물은 달라집니다.

String str = "aaa|bbb|ccc";
String[] result = str.split("|");

for(int i=0; i<result.length; i++){
  System.out.println(i+"= "+result[i]);
}

/*
아래와 같이 출력
0=
1=a
2=a
3=a
4=|
5=b
6=b
7=b
8=|
9=c
10=c
11=c
*/


"|"는 boolean과 같은 결과를 리턴하기 때문에 OR 조건에 걸리는 것입니다.

그렇기 때문에 "\\|" 로 자르는 것이 해결책이 될 수 있습니다.

String str = "aaa|bbb|ccc";

//str.split("|") 에서 str.split("\\|")으로 변경
String[] result = str.split("\\|");

for(int i=0; i<result.length; i++){
  System.out.println(i+"= "+result[i]);
}

/*
아래와 같이 출력
0=aaa
1=bbb
2=ccc
*/