티스토리 뷰

기록

split error

아카이sun 2016.03.16 23:39

오늘 value object의 데이터를 구분자를 이용하여 String으로 묶고 푸는 작업을 하다 에러를 경험하였습니다.



문자를 구분해주는 구분자는 보통 컴마 (,) 를 사용합니다.


하지만 복잡한 구조의 경우 뎁스를 표현하기 위해서  구분자가 여러개 들어가는 경우도 있습니다.


오늘 에러가 난 이유는 구분자를 | 로 사용해서인데, 


구글링해보니 정규식의 특수문자라는 사실을 알게되었습니다.


정규식의 Special Character는 다음과 같습니다.


[] {} () \


되도록 split 할 때에는 정규식의 Speical Character는 피해서 사용해야겠네요.


split시 위의 정규식 예약어를 사용하는 방법도 있습니다. \를 붙여주면되는데요


가령 ?의 경우 \?를 사용하면 되겠습니다. 하지만 여기에 함정!! \도 정규식 특수문자라는 사실.


그렇기 때문에 \를 한번더 감싸서 \\? 형태로 사용하셔야겠습니다.



how to use the split correctly ?


[] {} () \


they are the special character of Regular Expressions


so, don't use them if you can when trying split


but there has one solution. use like this "\\?"


\  is also special character


so you have to input \  one more



Example)


String[] temp = new String[]{"test1","test2"};

String value = temp[0] + "?" + temp[1];

String[] result = value.split("\\?");

System.out.print("print : " + result[0] + "/" + result[1]);



re


- result -

print : test1/test2   








'기록' 카테고리의 다른 글

postgres auto increment 설정  (0) 2018.06.08
split error  (0) 2016.03.16
댓글
댓글쓰기 폼