我正在使用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
是否将字段视为单个字符串文字?
答案 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)'
}
如果您不确定,请考虑将要面临的下一个问题:
"
放在引号内的单元格