拆分用户模式匹配器

时间:2012-11-12 21:01:53

标签: java string pattern-matching

我在日志中有一些条目,我想使用Pattern matcher从日志中获取条目。

记录条目

1223-12-23 00:00:00 exception : 1223. Operation Cannot be done
1223-12-24 00:00:01 exception : 1221. Operation Cannot be done

我想获得像

这样的条目

String [] date = {1223-12-23 00:00:00,1223-12-24 00:00:01} String [] message = {exception:1223。操作无法完成,例外:1221。操作无法完成}

有没有一种有效的方法可以做到这一点。

2 个答案:

答案 0 :(得分:1)

我已经使用Flat File Parsing Library来执行类似的任务。

答案 1 :(得分:0)

比我的其他答案更好:

// dynamic list of strings for dates and messages
List<String> dates = new ArrayList<>();
List<String> messages = new ArrayList<>();
// split your logfile by line
String[] lines = yourLogFileContentAsString.split("\n");
for (String line : lines) {
    // dates are characters 0-19
    dates.add(line.substring(0, 20));
    // message starts at character 21
    messages.add(line.substring(21);
}
// you wanted arrays
String[] datesArray = dates.toArray(new String[0]);
String[] messagesArray = messages.toArray(new String[0]);