【发布时间】:2015-06-06 07:47:36
【问题描述】:
我正在尝试删除时间表行中的 alle 30 Min 字样。目前30 和Min 正在被删除,但alle 没有被删除。我该如何解决?
感谢您的帮助。
示例
apple 05:05 05:35 06:05 06:35 07:05 07:35 08:05 17:05 17:35 18:05 18:35 19:05 19:35
chairalle 05:08 05:38 06:09 06:39 07:09 07:39 08:09 17:09 17:39 18:09 18:39 19:09 19:39
tablealle 05:09 05:39 06:11 06:41 07:11 07:41 08:11 alle 17:11 17:41 18:11 18:41 19:11 19:41
spoonalle 05:11 05:41 06:14 06:44 07:14 30 07:44 08:14 17:14 17:44 18:14 18:44 19:14 19:44
cabelalle 05:13 05:43 06:17 06:47 07:17 07:47 08:17 17:17 17:47 Min 18:17 18:47 19:17 19:47
exepted output without alle 30 Min:
apple 05:05 05:35 06:05 06:35 07:05 07:35 08:05 17:05 17:35 18:05 18:35 19:05 19:35
chairalle 05:08 05:38 06:09 06:39 07:09 07:39 08:09 17:09 17:39 18:09 18:39 19:09 19:39
tablealle 05:09 05:39 06:11 06:41 07:11 07:41 08:11 17:11 17:41 18:11 18:41 19:11 19:41
spoonalle 05:11 05:41 06:14 06:44 07:14 07:44 08:14 17:14 17:44 18:14 18:44 19:14 19:44
cabelalle 05:13 05:43 06:17 06:47 07:17 07:47 08:17 17:17 17:47 18:17 18:47 19:17 19:47
代码:
Scanner scannerLines = new Scanner(file)) {
while (scannerLines.hasNextLine()) {
String line = scannerLines.nextLine();
if (line.contains(" alle ")) {
//Delete alle from the line.
line.replace(" alle ", " ");
String nextLine = scannerLines.nextLine();
Pattern pattern = Pattern.compile("\\s\\d\\d\\s");
Matcher m = pattern.matcher(nextLine);
while (m.find()) {
value = Integer.parseInt(m.group().trim());
line.replace(m.group(), " ");
String nextLine2 = scannerLines.nextLine();
nextLine2.replace("Min", " ");
System.out.println(value);
}
}
writer.println(line);
}
【问题讨论】:
-
你能告诉我们你得到什么输出和你期望什么?比如,一个样本。