Java 带可能字符串的Groovy拆分字符串
我正在使用groovy解析一个文件中的数组,该文件需要使用groovy拆分为一个数组 问题是使用的分隔符“”位于“一”字段中,因此无法正确应用拆分命令。输出将使用不同的分隔符(例如“|”)Java 带可能字符串的Groovy拆分字符串,java,arrays,groovy,split,Java,Arrays,Groovy,Split,我正在使用groovy解析一个文件中的数组,该文件需要使用groovy拆分为一个数组 问题是使用的分隔符“”位于“一”字段中,因此无法正确应用拆分命令。输出将使用不同的分隔符(例如“|”) < P> > Groovy 分割(“?”)函数< /> >将字段视为单个字符串文字? 通常情况下,regexp或split乍一看就可以工作,然后 一旦数据显示它的真实面目,它就会可怕地失败。因此,一个数据库中有许多数据格式 正确的解析器通常是安全的路由,对于CSV也是如此 然后是 通常只是一点点的实验,你就可
< P> > Groovy <代码>分割(“?”)函数< /> >将字段视为单个字符串文字? 通常情况下,regexp或split乍一看就可以工作,然后 一旦数据显示它的真实面目,它就会可怕地失败。因此,一个数据库中有许多数据格式 正确的解析器通常是安全的路由,对于CSV也是如此 然后是 通常只是一点点的实验,你就可以开始了。例如
@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)'
}
如果你不相信,想想你将面临的下一个问题:
- 换行符
引用单元格内“
拆分(“,”
)实现,这正是您刚才概述的原因。
@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)'
}