我在文件中有一条消息,如下所示,我com.univocity.parsers.csv.CsvParser
用来根据分隔符拆分字符串(在本例中为-
)
1-bc-“名称”-def-address
1-abc-"名称-定义-地址
我创建我的CsvParser
对象
private val settings = new CsvParserSettings()
settings.getFormat.setDelimiter('-')
settings.setIgnoreLeadingWhitespaces(true)
settings.setIgnoreTrailingWhitespaces(true)
settings.setReadInputOnSeparateThread(false)
settings.setNullValue("")
settings.setMaxCharsPerColumn(-1)
val parser = new CsvParser(settings)
并解析输入消息,如:
for (line <- Source.fromFile("path\\test.txt").getLines) {
println(parser.parseLine(line).toList)
}
输出是:
List(1, bc, name, def, address)
List(1, abc, name-def-address)
如果您看到输出,您可以看到对于第一条消息,字符串被正确拆分,但是对于第二条消息,它在第一个双引号之后将所有内容都作为一个值。有谁知道为什么会出现这样的行为以及如何获得所需的输出?我正在阅读每条消息作为一个字符串,它应该简单地将引号/双引号视为一个字符。