【问题标题】:parse delimited text file using split使用 split 解析分隔的文本文件
【发布时间】:2020-03-27 14:34:16
【问题描述】:

我正在尝试读取文件并按分隔符拆分行,但我被告知给我的文件是空格分隔的,但我认为不是。我收到一个错误说 java.lang.ArrayIndexOutOfBoundsException: 1.map(val -> new ZygateEntity(val[0],val[1],val[2])) 行当我将正则表达式从split("[\\t] 更改为split("[\\ ] 时,表中的第一行已完成,但其他两行为空。下面是我的文件格式和我用来解析的代码

文件

20200321   text file 
TACL-SEC                          SECURITY      \SC1
TACL-SEC                          SECURITY      \SC2
TACL-SEC                          SECURITY      \SC2
TACL-SEC                          SECURITY      \SC2
TACL-SEC                          SECURITY      \SC2
TACL-SEC                          SECURITY      \SC2
20

【问题讨论】:

  • 使用\\s+作为方法split()的正则表达式。

标签: java spring-boot parsing split csv


【解决方案1】:

弹跳.map(s -> s.split("[\\t]"))这部分,使用你的ide搜索并尝试找出确切分隔列的内容,并且可能你的第一行和最后一行与实际的数据行不同。

对于正则表达式,您可以使用https://regex101.com/

【讨论】: