programming/JAVA
[Java] 특수문자를 사용한 문자열 split
LeeBorn
2022. 6. 12. 15:45
반응형
자바에서 특수문자를 사용한 split을 사용할 때는 주의해서 사용해야 한다.
콤마(,)를 사용할 때는 아래와 같이 사용하면 문자열을 구분자로 나누어 배열로 사용할 수 있다.
String str2 = "AAAAA,BBBBB,CCCCC";
for (String s : str2.split(",")) {
System.out.println(s);
}
하지만, 특수문자를 사용할 때는 아래와 같이 "\\"를 포함하여 사용해야, 구분자로 사용해서 배열로 나눌 수 있다.
@Test
@DisplayName("split 테스트")
void splitTest(){
String str = "AAAAA|BBBBB|CCCCC";
String[] expect1 = new String[]{"A","A","A","A","A","|","B","B","B","B","B","|","C","C","C","C","C"};
String[] expect2 = new String[]{"AAAAA", "BBBBB", "CCCCC"};
String[] splitArr1 = str.split("");
String[] splitArr2 = str.split("|");
String[] splitArr3 = str.split("\\|");
assertTrue(Arrays.equals(expect1, splitArr1));
assertTrue(Arrays.equals(expect1, splitArr2));
assertTrue(Arrays.equals(expect2, splitArr3));
}
"|"를 단독으로 split의 구분자로 사용했을 때는, 구분자를 사용하지 않았을 때와 같은 결과를 볼 수 있다.
하지만 "\\|" 형식으로 사용하면 일반적인 구분자를 사용했을 때와 같은 결과를 받을 수 있다.
- 위 작성된 글에는 잘못된 부분이 있을 수 있습니다. 알려주시면 수정하겠습니다.
※ info
IDE : IntelliJ IDEA 2022.1.2 (Ultimate Edition)
JDK: openjdk version "11" 2018-09-25
반응형