我试图从文件中读取数据,并将值存储在变量中。问题是文件中的每一行都是整数和字符串的混合,它们之间的空格/标签数量不均匀。我知道该行的前4个元素是什么,但是有一系列数字长度不同(但这些数字以0结尾)。我尝试了一些不同的方法,但我似乎无法做到正确。首先,我尝试逐行读取一行,在看到空格时将其拆分,然后将不包含空格的值存储到新数组中。这并没有奏效,因为它没有足够好地分开"。数组中的一个索引可以包含一个字符串,多个空格,然后是一个int。我尝试了其他变种,但我似乎无法想到一个好方法。有没有人可以给我一些关于如何阅读这种文件的指示?
以下是文件中一行的示例: 7地毯8 4 5 9 1 2 0
实施例。分裂:
while (in.hasNextLine()) {
line = in.nextLine();
String[] splitLine = line.split(" ");
}
我也尝试过使用split(" \ t")
答案 0 :(得分:3)
尝试替换
line = line.split(" ");
带
line.split("\\s+");
这将根据空白而不是单个空格分割线条。这意味着它将占用多个空格,制表符等。
答案 1 :(得分:1)
当你到达空间时要正确分割
line = line.split("\\s+");
这是因为" "被认为是Java中的一个特殊字符
如果它是单个空格,则会使用line = line.split("\\s");
,但是要先做多个空格。