'JAVA 6.0/Fundamentals'에 해당되는 글 3건
- 2010.07.26 replaceAll로 공백 제거하기
- 2009.11.15 BufferedWriter 파일에 데이터 삽입
- 2009.11.15 BufferedReader 파일 읽어오기
2010. 7. 26. 19:19
회사 프로젝트 코드에서 공백이 포함된 문자열을 공백을 제거할 로직을 추가할 일이 있어서
아래와 같은 방식으로 수정을 하였습니다.
1 |
String str = "Vicki Yi" ; |
2 |
|
3 |
System.out.println(str + " : " + str.replaceAll( " " , "" )); |
허나 결과는...
Vicki Yi : Vicki Yi
정규식에서 공백은 정확하게 공백으로 인식을 못하는 것 같았습니다.
Pattern JavaDoc 에서 내용을 확인하였습니다.
http://java.sun.com/javase/6/docs/api/java/util/regex/Pattern.html
POSIX character classes (US-ASCII only) | |
---|---|
\p{Lower} | A lower-case alphabetic character: [a-z] |
\p{Upper} | An upper-case alphabetic character:[A-Z] |
\p{ASCII} | All ASCII:[\x00-\x7F] |
\p{Alpha} | An alphabetic character:[\p{Lower}\p{Upper}] |
\p{Digit} | A decimal digit: [0-9] |
\p{Alnum} | An alphanumeric character:[\p{Alpha}\p{Digit}] |
\p{Punct} | Punctuation: One of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ |
\p{Graph} | A visible character: [\p{Alnum}\p{Punct}] |
\p{Print} | A printable character: [\p{Graph}\x20] |
\p{Blank} | A space or a tab: [ \t] |
\p{Cntrl} | A control character: [\x00-\x1F\x7F] |
\p{XDigit} | A hexadecimal digit: [0-9a-fA-F] |
\p{Space} | A whitespace character: [ \t\n\x0B\f\r] |
그래서 아래와 같이 수정하였습니다.
1 |
String str = "Vicki Yi" ; |
2 |
|
3 |
System.out.println(str + " : " + str.replaceAll( "\\p{Space}" , "" )); |
결과는~~~ 원하는 결과가 나왔습니다.
Vicki Yi : VickiYi
정규식을 안쓰면 indexOf() 와 replace 를 while 문으로 돌려서 처리를 해야 하기에 역시 정규식이 깔끔한 것 같습니다.
'JAVA 6.0 > Fundamentals' 카테고리의 다른 글
BufferedWriter 파일에 데이터 삽입 (0) | 2009.11.15 |
---|---|
BufferedReader 파일 읽어오기 (0) | 2009.11.15 |
2009. 11. 15. 19:58
BufferedWriter bw =new BufferedWriter(new FileWriter("c:\\log.txt"));
for(int i=0;i<vc.size();i++){
bw.write(vc.elementAt(i).getYear()+"/");
bw.write(vc.elementAt(i).getMonth()+"/");
bw.write(vc.elementAt(i).getDay()+"/");
bw.write(vc.elementAt(i).getHour()+"/");
bw.write(vc.elementAt(i).getMinute()+"/");
bw.write(vc.elementAt(i).getTotalHour()+"/");
bw.write(vc.elementAt(i).getTotalMinute()+"/");
}
bw.close();
}
bw.close(); <-- 안해주면 파일이 들어가지 않음.
'JAVA 6.0 > Fundamentals' 카테고리의 다른 글
replaceAll로 공백 제거하기 (0) | 2010.07.26 |
---|---|
BufferedReader 파일 읽어오기 (0) | 2009.11.15 |
2009. 11. 15. 19:56
BufferedReader in = new BufferedReader(new FileReader("c:\\log.txt"));
String line=in.readLine();
StringTokenizer st = new StringTokenizer(line,"/");
while(st.hasMoreTokens()){
di = new DateInfo();
di.setYear(Integer.parseInt(st.nextToken()));
di.setMonth(Integer.parseInt(st.nextToken()));
di.setDay(Integer.parseInt(st.nextToken()));
di.setHour(Integer.parseInt(st.nextToken()));
di.setMinute(Integer.parseInt(st.nextToken()));
di.setTotalHour(Integer.parseInt(st.nextToken()));
di.setTotalMinute(Integer.parseInt(st.nextToken()));
vc.add(di);
}
'JAVA 6.0 > Fundamentals' 카테고리의 다른 글
replaceAll로 공백 제거하기 (0) | 2010.07.26 |
---|---|
BufferedWriter 파일에 데이터 삽입 (0) | 2009.11.15 |