-
[Java] 특수문자를 사용한 문자열 splitprogramming/JAVA 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반응형'programming > JAVA' 카테고리의 다른 글
[Java] LocalDate Unsupported field: HourOfDay (0) 2022.06.06 [Java] Arrays.asList(int[]) 의 잘못된 사용 (0) 2022.03.27 [Java] Builder 어노테이션 기본값 사용하기(Builder.Default) (0) 2021.12.31 [Java] junit Disabled 어노테이션 사용하기 (0) 2021.11.26 [Java] 테스트메소드에 이름 붙이기 (0) 2021.11.24