清理从文本文件导入数据的方法?

时间:2010-01-19 12:02:06

标签: java text

我有一个文本文件,其中包含以下内容:

  

NAME1:0 | 0 | 0 | 0 | 0 |
  名2:0 | 0 | 0 | 0 | 0 |
  ......等等。

我将名称导入到字符串数组中。

这没关系,但是我想不出一种将数字与数组项关联起来的简洁方法。数字由“管道”分隔|''字符

理想情况下,我想调用一个方法,在给定名称时返回一个整数数组,例如public int[] getScores(String name)

2 个答案:

答案 0 :(得分:6)

Scanner也可以这样做(自Java 1.5起)。优于String#split的优点是您可以使用正则表达式进行某种自动类型转换。

来自javadoc的示例

String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
System.out.println(s.nextInt());
System.out.println(s.nextInt());
System.out.println(s.next());
System.out.println(s.next());
s.close(); 

此外,如果您的目标是通过名称恢复数字,请使用某种哈希表来存储它以便更快地检索。

答案 1 :(得分:3)

使用string split

首先使用:分割一行,然后使用|将每个数字拆分为字符串。最后使用Integer.Parse来获取数字。