[英]^M characters showing in CSV file generated using opencsv.CSVWriter
[英]Using Escape characters in openCSV
我正在使用默認的構造函數和默認的轉義字符反斜杠。 因此CSV格式類似於"value1","value2","value3","value4"
從CSV文件Windows XP OS中讀取值。
現在的問題是,當值中的雙引號像這樣的"aa"," I am "fine", what about u?", "232",
我不知道如何轉義雙引號。
有人可以幫我嗎?
用雙引號引起來
CSVParser csv = new CSVParser()
String[] result = csv.parseLine('"aa","I am ""fine"", what about u?", "232"')
assert result[0] == 'aa'
assert result[1] == 'I am "fine", what about u?'
assert result[2] == '232'
這個答案是從以下常規測試文件OpenCSVTest.groovy中提取的 :
import groovy.util.GroovyTestCase
import au.com.bytecode.opencsv.CSVReader
import au.com.bytecode.opencsv.CSVParser
@Grapes([
@Grab(group='net.sf.opencsv', module='opencsv', version='2.3')
])
class OpenCSVTest extends GroovyTestCase {
void testParseQuote() {
CSVParser csv = new CSVParser()
String[] result = csv.parseLine('"aa","I am ""fine"", what about u?", "232"')
assert result[0] == 'aa'
assert result[1] == 'I am "fine", what about u?'
assert result[2] == '232'
}
}
運行如下:
$ groovy OpenCSVTest
.
Time: 0.009
OK (1 test)
在您的問題中,您告訴您正在使用默認的轉義字符,即反斜杠。 因此,您必須使用反斜杠...像: "aa"," I am \\"fine\\", what about u?", "232"
從這樣的代碼進行測試:
CSVParser csvParser = new CSVParser();
String[] parseLine = csvParser.parseLine("\"aa\",\" I am \"\"fine\"\", what about u?\", \"232\"");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.