Java 에서는 String Class 에서 split 함수를 제공한다 쓰는 방법은 아래와 같다.
String strMessage = "Test`One`Two`Three";
String[] sArrMsg = strMessage.split("`");
for(int i=0; i<sArrMsg.length; i++)
{
System.out.println(String.format("Parse 문자열 = %s", sArrMsg[i]));
}위와 같이 함수를 제공해줘서 아주 잘 쓰고 있는데 문제가 하나 있다.
특정 특수 문자는 파싱이 되지 않는다는 점이다. 문자열 예시를 아래와 같이 바꾸면
String strMessage = "Test.One.Two.Three";
파싱이 되지 않는다. 파싱을 하려면 split 함수 안에 아래와 같이 넣어 줘야 정상 동작한다.
String[] sArrMsg = strMessage.split("\\.");
위와같은 문자열은 더 있는거 같고요 일단 제가 발견한 문자는 ".", "(", ")" 입니다. 발견되는 데로 업데이트 합니다 ..
쓰시는 분들은 유의 하시면 될거 같습니다 ^^;
유의할점은 만약에 파싱할 문자열이 아래와 같다면
String strMessage = "Test```";
파싱되는 문자열이 4개가 아니라 1이 됩니다. 이것을 방지 하기 위해서는 뒤에 공백 문자열을 넣어줘야 정상 동작 합니다.
String strMessage = "Test``` ";
댓글 없음:
댓글 쓰기