Groovy拆分字符串,可能包含字符串

时间:2020-02-19 15:05:22

标签: java arrays groovy split

我正在使用groovy解析文件中的a,该文件需要使用groovy拆分为数组。

问题是使用的定界符“,”在一个字段中,因此未正确应用split命令。输出将使用其他定界符(例如“ |”)

ELEMENT 1-01,"X0185-CX2F-01-PW(SATop,20211,10.42.81.0)",2020-02-18 09:00:00,15,0.00,0.00,0.00,0.00,0.00,0,0,0

常规split(",") function是否将字段视为单个字符串文字?

1 个答案:

答案 0 :(得分:0)

通常情况下,乍一看,正则表达式或拆分将起作用,然后 一旦数据显示出真实的面目,这将导致严重的失败。因此,许多数据格式 适当的解析器通常是安全的途径,对于CSV来说也是如此。

Pick one you like,然后 通常只需进行一点试验,您就可以开始了。例如

@Grab(group='de.siegmar', module='fastcsv', version='1.0.3')
import de.siegmar.fastcsv.reader.*

def data = '''ELEMENT 1-01,"X0185-CX2F-01-PW(SATop,20211,10.42.81.0)",2020-02-18 09:00:00,15,0.00,0.00,0.00,0.00,0.00,0,0,0'''
def csvReader = new CsvReader()
try (def csvParser = csvReader.parse(new java.io.StringReader(data))) {
    def row = csvParser.nextRow()
    assert row.getField(1)=='X0185-CX2F-01-PW(SATop,20211,10.42.81.0)'
}

如果您不确定,请考虑将要面临的下一个问题:

  • 换行符
  • "放在引号内的单元格
相关问题