如何逐行分隔这样的字符串?

时间:2014-05-11 22:48:23

标签: java string

我有一个我想逐行阅读的字符串:

"8688642986379252 Michael_Thompson 816 2500.0
8904000405634912 Barbara_Martin
8610835007621519 Charles_Jackson 1019 52800.0"

以这种格式继续下去。

我尝试使用for循环,charAt()分离它,并使用substring()减少字符串的大小,但我失败了。

我确定它很简单,但我无法得到它。有什么想法吗?

3 个答案:

答案 0 :(得分:4)

我建议使用str.split("\n")。它将生成一个字符串数组,每行一个索引。这假设您可以将整个事物读成字符串。如果输入很大,这将无法正常工作。

答案 1 :(得分:0)

使用java.util.Scanner类逐个读取令牌。

http://docs.oracle.com/javase/tutorial/essential/io/scanning.html

答案 2 :(得分:0)

使用Scanner使用nextLine逐行阅读。然后,将每个String拆分为空格" "

Scanner scanner = new Scanner(stringWithBreaklines);
while (scanner.hasNext()) {
    String line = scanner.nextLine();
    String[] content = line.split(" ");
    //do what you want/need with content
}

如果String位于文件内,则使用Scanner直接读取文件:

Scanner scanner = new Scanner(new File("file.txt"));
//same code as above...