gpt4 book ai didi

java - 使用扫描仪从文本文件中挑选出特定信息

转载 作者:行者123 更新时间:2023-12-01 12:52:56 25 4
gpt4 key购买 nike

我无法找到一种有效的方法来从这种格式的文本文件中挑选出特定的数据,其中有很多行。

<"Name" "double" "double" "double" [...]> 

txt 文件的每一行 double 的数量都不同,
我只想找出 txt 文件中每一行的第一个 double 值。

我尝试这样做的方式是:

Scanner doubleScan = new Scanner(System.in).useDelimiter("(\\w)(\\s+)");
String[] columnOne = elementScan.next().split(" ");

尝试让扫描仪使用正则表达式,但如果一行中存在未知数量的 double ,则不会真正起作用。然后尝试将所有挑选出来的(每行第一个) double 值存储在数组中

非常感谢任何建议,仅使用扫描仪。

最佳答案

您可以使用 scanner.nextLine() 逐行读取,然后使用 plit 方法从数组中获取第二个元素。或者,如果您非常注重仅使用扫描仪,您可以为每行创建另一个扫描仪,并使用 nextDouble() 方法检查 double 。示例。

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class Application {
public static void main(String[] args) {
try {
File file = new File("test.txt");
Scanner fileScanner = new Scanner(file);
while (fileScanner.hasNext()) {
Scanner lineScanner = new Scanner(fileScanner.nextLine());
while (lineScanner.hasNext()) {
if (lineScanner.hasNextDouble()) {
System.out.println("First Double :" + lineScanner.nextDouble());
break;
} else {
lineScanner.next();
}
}
lineScanner.close();
}
fileScanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}

关于java - 使用扫描仪从文本文件中挑选出特定信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24084339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com