gpt4 book ai didi

java - 解析文本文件的最简洁方法

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

然后将每一行分成三个部分,并将这些部分放入单独的 String[] arrays 中?

所以目前我正在通过 BufferedReader 导入文件/FileReader ,将每一行添加到 ArrayList<String> 。看起来像:

     String line;

ArrayList<String> thing = new ArrayList<String>();

BufferedReader reader = new BufferedReader(new FileReader(
"file.txt"));

while (true) {
line = reader.readLine();
if (line == null) {
break;
}
thing.add(line);
}
reader.close();

每个内容都会被解析为 String[] array在基本的 for 循环中。

       String[] array = new String[thing.size()];
for(i=0;i<thing.size();i++) {
array[i] = thing.get(i)
}

这就是我到目前为止所得到的。

导入的数据格式如下:

Euro (EUR), 1.359, €

US Dollars (USD), 1.34, $

据我了解split以及类似于 \\s*,\\s* 的正则表达式可能会被用来将字符串分割成不同的组成部分,但据我所知为零。

问题:我如何进一步拆分字符串。

例如,将字符串的每个第一部分放入名为 currency 的数组中,将字符串的每个第二部分放入名为 factor 的数组中,如此等等。

最佳答案

您可以在 for 循环中使用 split(",") 将每个字符串拆分为另外三个部分,然后将它们添加到适当的数组中:

        List<String> thing = new ArrayList<>();
thing.add("Euro (EUR), 1.359, €");

String[] currency = new String[thing.size()];
String[] factor = new String[thing.size()];
String[] sign = new String[thing.size()];

for(int i=0;i<thing.size();i++) {
String parts[] = thing.get(i).split(",");
currency[i] = parts[0];
factor[i] = parts[1];
sign[i] = parts[2];
}

System.out.println(currency[0] + " " + factor[0] + " " + sign[0]);

输出:

欧元 (EUR) 1.359 €

关于java - 解析文本文件的最简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53135548/

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