如何从文本文件中提取数字

时间:2013-11-12 23:24:34

标签: java string text int

我有一个看起来像的文本文件:

1/1/2009    76.0    81.1    68.1    86.7    99.2    97.5    92.9

我不明白的是如何只取出7个数字而不是日期。

到目前为止EDITcode:

当我跑的时候什么都没打印出来?

File inputFile = new File ("C:/Users/Phillip/Documents/Temp/temperatures.txt .txt");
Scanner scan = new Scanner(inputFile);


  while (scan.hasNextLine())
  {
  String line = scan.nextLine(); 

  String[] words = line.split(" "); 

  for (int index = 1; index < words.length; index++)
   System.out.println(words[index]);

4 个答案:

答案 0 :(得分:1)

String#split开始,将值拆分为单独的元素......

String text = "1/1/2009 76.0 81.1 68.1 86.7 99.2 97.5 92.9";
String[] parts = text.split(" ");
// You can now skip over the first element and process the remaining elements...
for (int index = 1; index < parts.length; index++) {
    // Convert the values as required...
}

您还应该查看JavaDocsStrings trail了解详情

答案 1 :(得分:0)

将String split方法与space separatpr一起使用。你将获得一个包含8个字符串的数组,你的数字是从索引1到7。

答案 2 :(得分:0)

String line = "1/1/2009 76.0 81.1 68.1 86.7 99.2 97.5 92.9";

String[] words = line.split(" ");

会将行拆分为空格之间的单词数组。然后跳过[0]索引:

for(int i = 1; i < words.length; i++)
    System.out.println(words[i]);

将仅打印数字

答案 3 :(得分:0)

首先删除前导输入,然后对空格上的拆分结果使用foreach循环。

所有这一切都可以在一行代码中完成:

for (String number : line.replaceAll("^\\S+\\s+", "").split("\\s+")) {
    // do something with "number"
}