Split 올바른 사용법
Programming/JAVA
2008. 1. 28. 16:47
반응형
문자열을 나눌때 아무 생각없이 걍 나누려고 할때가 많다.
그래서 이게 왜 이러나..하고 잠시 생각에 빠질때가 있는데..
(물론 개인적인 이야기다..-_-; 이넘의 메멘토 적인 기억력은..날 힘들게해...ㅜㅜ)
뭐 언젠가는 까묵고 찾아보겠지.. ^^;;
double dtest = 15/800;
String dTestStr = Double.toString(dtest);
String test = "kim|song|Ho";
String[] testArr = test .split("|");
String[] dtestArr = dTestStr .split(".");
위 코드는 오류가 발생되거나 비정상 적인 결과가 출력된다.
왜 그럴까?
어떠한 문자를 기준으로 Split하려고 하는것인지 보자..
------
-------
오류를 어떻게 처리할까?
'|' (파이프기호), '.'(쉼표)를 기준으로 split하려고 하는데.
split()는 정규식으로 표현되는 넘이다.
그렇기 때문에 |,. 처럼 정규식 예약어인 경우에는 다음과 같이 \(이스케입)문자가 있어야 한다.
\/
여기서 "(더블쿼테이션" 안의 \ 는 \\ 두개로 표현을 해야 함에 유의하자.
정답:
String[] testArr = test .split("\\|");
String[] dtestArr = dTestStr .split("\\.");
그래서 이게 왜 이러나..하고 잠시 생각에 빠질때가 있는데..
(물론 개인적인 이야기다..-_-; 이넘의 메멘토 적인 기억력은..날 힘들게해...ㅜㅜ)
뭐 언젠가는 까묵고 찾아보겠지.. ^^;;
double dtest = 15/800;
String dTestStr = Double.toString(dtest);
String test = "kim|song|Ho";
String[] testArr = test .split("|");
String[] dtestArr = dTestStr .split(".");
위 코드는 오류가 발생되거나 비정상 적인 결과가 출력된다.
왜 그럴까?
어떠한 문자를 기준으로 Split하려고 하는것인지 보자..
------
-------
오류를 어떻게 처리할까?
'|' (파이프기호), '.'(쉼표)를 기준으로 split하려고 하는데.
split()는 정규식으로 표현되는 넘이다.
그렇기 때문에 |,. 처럼 정규식 예약어인 경우에는 다음과 같이 \(이스케입)문자가 있어야 한다.
\/
여기서 "(더블쿼테이션" 안의 \ 는 \\ 두개로 표현을 해야 함에 유의하자.
정답:
String[] testArr = test .split("\\|");
String[] dtestArr = dTestStr .split("\\.");
반응형