Uploaded image for project: 'Commons CSV'
  1. Commons CSV
  2. CSV-54

Confusing semantic of the ignore leading/trailing spaces parameters

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.0
    • Component/s: Parser
    • Labels:
      None

      Description

      CSVFormat has two parameters to control how the leading and trailing spaces around values are handled, but the actual behavior depends on the value being enclosed in quotes or not.

      If the value is not enclosed in quotes, setting leading/trailingSpacesIgnored to true will left or right trim the value. For example with this input (using the default format):

      a,  b  ,c

      the second value will be equal to 'b'.

      But if the value is enclosed into quotes, the value is no longer trimmed:

      a," b ",c

      this will give ' b '.

      With quoted values the parser actually ignores the spaces between the delimiter and the quote. Thus with this input:

      a, " b " ,c

      The value returned is ' b '.

      If leading/trailingSpacesIgnored is set to false, we get instead ' " b " ' which is consistent with RFC 4180.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              ebourg Emmanuel Bourg
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: