【问题标题】:Java - find matching string from .text fileJava - 从 .text 文件中查找匹配的字符串
【发布时间】:2015-09-09 22:00:47
【问题描述】:

我想从 .text 文件中找到匹配的字符串。 但是使用这段代码我只能得到文本文件第一行的匹配字符串。它不会运行到文本文件的其他行

Scanner scanner = new Scanner(file);

while (scanner.hasNextLine()) {

    System.out.println("Inside next line");
    String line = scanner.nextLine();
    System.out.println(line);
    String[] tokenarray = line.split(":");

    if (tokenarray[0].equals(id)) {
        System.out.println("match found");
        System.out.println(tokenarray[0]);
        customer = new Customer(tokenarray[0], tokenarray[1],
                tokenarray[2], tokenarray[3], tokenarray[4],
                tokenarray[5], tokenarray[6], tokenarray[7],
                tokenarray[8]);
                break;
        }
}

仅当输入id 作为文档第一行的tokenarray[0] 值时,此代码才有效。我想搜索整个文本文档。不仅是第一行。

【问题讨论】:

    标签: java string text equals


    【解决方案1】:

    看来,当您删除 break 时,它会解决您的问题。

    【讨论】:

      【解决方案2】:
          String line = "hello:world:hello:up";
          String[] tokenarray = line.split(":");
          for (String s : tokenarray) {
              System.out.print((s.contains("hello") ? "match" : "no match"));
              System.out.print(", ");
          }
      

      输出:

      匹配,不匹配,匹配,不匹配,

      【讨论】:

      • 有什么问题?也许他可以重新迭代并将匹配的字符串添加到第二个列表/数组中
      • 当然,当然。我只是注意到 OP 示例使用了 Scanner
      猜你喜欢
      • 2010-10-22
      • 2014-05-08
      • 1970-01-01
      • 2015-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-08
      • 2016-02-20
      相关资源
      最近更新 更多