Sunday, May 23, 2010

String Regex and Date Format

Even though these classes have been around for years, I quite often see people handle String manipulation and Date formatting is some "interesting" ways.

I was reading some log files checking dates and graphing the result with jfreechart and came up with, seems quite clean and neat.

package bob.blog;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * The Class FindADateInAString.
 */
public class FindADateInAString {
 
 /** The formatter. */
 private static SimpleDateFormat formatter = (SimpleDateFormat) DateFormat
 .getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
 
 
 /**
  * The main method.
  *
  * @param args the arguments
  * @throws ParseException the parse exception
  */
 public static void main(String[] args) throws ParseException {
  List< Date > dates = returnDatesFromAString("This string contains some random dates: 2010-03-06 01:11:06 and 2009-03-10 23:11:05");
  System.out.println(dates);
 }
 
 
 /**
  * Return dates from a string.
  *
  * @param toParse the to parse
  * @return the list
  * @throws ParseException the parse exception
  */
 public static List< Date > returnDatesFromAString(final String toParse) throws ParseException{
  List< Date > dates = new ArrayList< Date >();
  String regex = "(\\d+\\-)+\\d+\\s(\\d+\\:)+\\d+";
  Pattern pattern = Pattern.compile(regex);
  Matcher matcher = pattern.matcher(toParse);

  while (matcher.find()) {
   formatter.applyPattern("yyyy-MM-dd hh:mm:ss");
   dates.add(formatter.parse(matcher.group()));
  }
  
  return dates;
 }
 
 
}


5 comments:

  1. https://www.oobbg.com 우리카지노사이트
    https://www.oobbg.com/theking 더킹카지노
    https://www.oobbg.com/sands 샌즈카지노
    https://www.oobbg.com/first 퍼스트카지노
    https://www.oobbg.com/yes 예스카지노
    https://www.oobbg.com/coin 코인카지노
    https://www.oobbg.com/33 33카지노
    https://www.oobbg.com/world 월드카지노
    https://www.oobbg.com/merit 메리트카지노
    https://www.oobbg.com/gatsby 개츠비카지노

    ReplyDelete
  2. https://www.omgka.com 우리카지노사이트
    https://www.omgka.com/theking 더킹카지노
    https://www.omgka.com/sands 샌즈카지노
    https://www.omgka.com/first 퍼스트카지노
    https://www.omgka.com/yes 예스카지노
    https://www.omgka.com/super 슈퍼카지노
    https://www.omgka.com/gatsby 개츠비카지노
    https://www.omgka.com/33 33카지노
    https://www.omgka.com/world 월드카지노
    https://www.omgka.com/merit 메리트카지노

    ReplyDelete
  3. https://www.bbdd66.com 우리카지노사이트
    https://www.bbdd66.com/theking 더킹카지노
    https://www.bbdd66.com/sands 샌즈카지노
    https://www.bbdd66.com/first 퍼스트카지노
    https://www.bbdd66.com/yes 예스카지노
    https://www.bbdd66.com/super 슈퍼카지노
    https://www.bbdd66.com/gatsby 개츠비카지노
    https://www.bbdd66.com/33 33카지노
    https://www.bbdd66.com/world 월드카지노
    https://www.bbdd66.com/merit 메리트카지노

    ReplyDelete
  4. https://www.omgqq.com 우리카지노사이트
    https://www.omgqq.com/thekingcasino 더킹카지노
    https://www.omgqq.com/sandscasino 샌즈카지노
    https://www.omgqq.com/firstcasino 퍼스트카지노
    https://www.omgqq.com/yescasino 예스카지노
    https://www.omgqq.com/supercasino 슈퍼카지노
    https://www.omgqq.com/gatsbycasino 개츠비카지노
    https://www.omgqq.com/33casino 33카지노
    https://www.omgqq.com/worldcasino 월드카지노
    https://www.omgqq.com/merit 메리트카지노

    ReplyDelete
  5. https://www.omgab.com 우리카지노사이트
    https://www.omgab.com/theking 더킹카지노
    https://www.omgab.com/sands 샌즈카지노
    https://www.omgab.com/first 퍼스트카지노
    https://www.omgab.com/yes 예스카지노
    https://www.omgab.com/super 슈퍼카지노
    https://www.omgab.com/gatsby 개츠비카지노
    https://www.omgab.com/33 33카지노
    https://www.omgab.com/world 월드카지노
    https://www.omgab.com/merit 메리트카지노

    ReplyDelete

Popular Posts

Followers