如何为扫描仪使用两个分隔符

时间:2013-10-31 16:26:27

标签: java regex parsing delimiter

我知道我需要使用input.useDelimeter方法,但由于某些原因,当我尝试使两个分隔符成为正斜杠并且换行符如此时,input.useDelimiter("[/\n]");它会给我输入不匹配错误。我也试过("/\n"); and ("[/\\n]");

这是有问题的方法。

public static void main(String[] args)
   throws FileNotFoundException {
   int month = 0;
   int day = 0;
   int year = 0;
   File file = new File("dates.txt");
   Scanner input = new Scanner(file);
   if (file.exists()){
      while (input.hasNextLine()){
         input.useDelimiter("[/]");
         month = input.nextInt();
         day = input.nextInt();
         year = input.nextInt();
         System.out.print(day + "-" + month + "-" + year + "\n");

      }
   }
}

当我使用不包含换行符的文本文件时,只有正斜杠才能正常工作,但由于某些原因我无法将换行符识别为分隔符。

1 个答案:

答案 0 :(得分:0)

一种可能性是文本文件实际上包含回车符而不是换行符。

我的理解是"[/\n]""[/\\n]"都应该作为分隔符正则表达式...如果你真的有新行字符匹配。