You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Santhsoh (Jira)" <ji...@apache.org> on 2021/09/07 03:25:00 UTC
[jira] [Commented] (CSV-288) String delimiter (||) is not working
as expected.
[ https://issues.apache.org/jira/browse/CSV-288?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17410905#comment-17410905 ]
Santhsoh commented on CSV-288:
------------------------------
Failing test case :
{code:java}
org.apache.commons.csv.CSVParserTest#testParseWithDoublePipeDelimiter@Test
public void testParseWithDoublePipeDelimiter() throws Exception {
final Reader in = new StringReader("a||b||c||d||||f");
StringBuilder stringBuilder = new StringBuilder();
try (CSVPrinter csvPrinter = new CSVPrinter(stringBuilder, CSVFormat.EXCEL);
CSVParser csvParser = CSVParser.parse(in, CSVFormat.Builder.create().setDelimiter("||").build())) {
for (CSVRecord csvRecord : csvParser) {
for (int i = 0; i < csvRecord.size(); i++) {
csvPrinter.print(csvRecord.get(i));
}
assertEquals("a,b,c,d,,f", stringBuilder.toString());
}
}
}{code}
> String delimiter (||) is not working as expected.
> -------------------------------------------------
>
> Key: CSV-288
> URL: https://issues.apache.org/jira/browse/CSV-288
> Project: Commons CSV
> Issue Type: Bug
> Reporter: Santhsoh
> Priority: Major
>
> Steps to reproduce :
> 1. Parse CSV file with || as delimiter and having empty columns
> 2. Print the CSVRecord resulting from CSVParser
>
> //Expected : a,b,c,d,,f,g
> // Actual : a,b|c,d,|f,g
> public static void main(String[] args) throws Exception\{
> String row = "a||b||c||d||||f||g";
> StringBuilder stringBuilder = new StringBuilder();
> try (CSVPrinter csvPrinter = new CSVPrinter(stringBuilder, CSVFormat.EXCEL);
> CSVParser csvParser = CSVParser.parse(new StringInputStream(row), StandardCharsets.UTF_8, CSVFormat.Builder.create().setDelimiter("||").build())) {
> for (CSVRecord csvRecord : csvParser) {
> for (int i = 0; i < csvRecord.size(); i++) {
> csvPrinter.print(csvRecord.get(i));
> }
> System.out.println(stringBuilder.toString());
> //Expected : a,b,c,d,,f,g
> // Actual : a,b|c,d,|f,g
> }
> }
> }
> With the snippet provided above, actual value is not same as expected value
--
This message was sent by Atlassian Jira
(v8.3.4#803005)