'JAVA 6.0/Fundamentals'에 해당되는 글 3건

  1. 2010.07.26 replaceAll로 공백 제거하기
  2. 2009.11.15 BufferedWriter 파일에 데이터 삽입
  3. 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 문으로 돌려서 처리를 해야 하기에 역시 정규식이 깔끔한 것 같습니다.

출저 -  http://vicki.tistory.com/583

'JAVA 6.0 > Fundamentals' 카테고리의 다른 글

BufferedWriter 파일에 데이터 삽입  (0) 2009.11.15
BufferedReader 파일 읽어오기  (0) 2009.11.15
Posted by TIMEC
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
Posted by TIMEC
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
Posted by TIMEC