无法从splitted Array String获取值到String中

时间:2014-06-07 08:50:48

标签: java regex string split

我试图从String []值中获取值; into String lastName;,但我收到错误,它说java.lang.ArrayIndexOutOfBoundsException: 2 at arduinojava.OpenFile.openCsv(OpenFile.java:51) (lastName = value[2];)。这是我的代码,但我不确定它是否在split()或声明变量或将数据转换为另一个变量时出错。

我也在调用input.next();忽略第一行三次,因为of study的{​​{1}}也会被打印出来。

我尝试共享的行位于.csv文件中:

Field of study

这是我的代码:

University  Firstname   Lastname    Field of study
Karlsruhe   Jerone          L           Software Engineering 
Amsterdam   Shahin          S           Software Engineering 
Mannheim    Saman           K           Artificial Intelligence
Furtwangen  Omid            K           Technical Computing
Esslingen   Cherelle        P           Technical Computing

3 个答案:

答案 0 :(得分:0)

根据您的样本,

行由空格分隔,而不是以分号分隔。尝试以这种方式基于一个或多个空格进行拆分。

data.split("\\s+");

更改分隔符,如下所示:

String delimiter = "\\s+";

修改

CSV文件应采用此格式。所有值都应该用双引号括起来,并且应该有一个有效的分隔符,如逗号,空格,分号等。

"University"  "Firstname" "Lastname"     "Field of study"
"Karlsruhe"   "Jerone"        "L"       "Software Engineering" 
"Amsterdam"   "Shahin"        "S"       "Software Engineering"

答案 1 :(得分:0)

请检查您是否使用分隔符作为';'如果没有添加并重新尝试,它应该工作!!

答案 2 :(得分:0)

使用OpenCSV库读取CSV文件。Here是使用java by Viral Patel读取/写入CSV文件的详细示例