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

标签 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");

      }
   }
}

当我使用不包含换行符且仅包含正斜杠的文本文件时,它工作得很好,但由于某种原因,我无法让它将换行符识别为分隔符。

最佳答案

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

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

关于java - 如何为扫描仪使用两个分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19711832/

相关文章:

java UrlClassLoader : findResources returns null, 但 loadClass 返回类

python - 解析 Python 文件以检索变量、值、函数定义

java - 在游戏中使用已解析的 json!框架

php - 使用可读性 API 从页面中抓取最相关的图像

java - 让 netbeans 使用 sudo 运行我的项目?

java - 检查列表是否至少包含一个枚举的最佳方法

java - 在一个 jar 中使用 Spring boot 2.x 构建 Angular 11

java - 通过使用正则表达式在 Java 中输入密码

php - 用 preg_replace 替换 ereg_replace

.net - 我将如何修改此正则表达式以提取英国邮政编码的左右部分?