标记单词之间间距不等的行

时间:2015-08-29 15:24:39

标签: java

我有一个带有几行的文件如下:

BEULAH         0.048 69.577    360
ANTOINETTE     0.048 69.625    361
CANDICE        0.046 69.671    362
JUANA          0.046 69.717    363

我想阅读java中的第一个:比如BEULAH和0.048

以下是我逐行阅读的代码:

    BufferedReader brF = new BufferedReader(new FileReader(fileNameF));     
    String line = null;
    while ((line = brF.readLine()) != null) {

    }

但是当谈到标记单词之间的空格是不一样的。我想知道最好的方法是什么?(我知道一种方法是手动更改文件中的空格但不是一个聪明的想法)

2 个答案:

答案 0 :(得分:2)

如果空格是您的分隔符,那么您可以使用正则表达式进行拆分。

BufferedReader brF = new BufferedReader(new FileReader(fileNameF));     
String line = null;
while ((line = brF.readLine()) != null) {
    String[] tokens = line.split("\\s+"); //Splits for one or more space.
}

答案 1 :(得分:0)

如果行格式相同,意味着String后跟Double,我建议使用Scanner

BufferedReader brF = new BufferedReader(new FileReader(fileNameF));     
String line = null;
Scanner scanner;
while ((line = brF.readLine()) != null) {
   scanner = new Scanner(line);
   scanner.next(); //Will return the string
   scanner.nexDouble(); //Will return following double value
}