csv icon indicating copy to clipboard operation
csv copied to clipboard

Accept \r without quote if row separator doesn't include \r

Open kou opened this issue 6 years ago • 1 comments

This may work:

@@ -360,12 +320,14 @@ class CSV
       if @liberal_parsing
         @unquoted_value = Regexp.new("[^".encode(@encoding) +
                                      escaped_column_separator +
-                                     "\r\n]+".encode(@encoding))
+                                     escaped_row_separator +
+                                     "]+".encode(@encoding))
       else
         @unquoted_value = Regexp.new("[^".encode(@encoding) +
                                      escaped_quote_character +
                                      escaped_column_separator +
-                                     "\r\n]+".encode(@encoding))
+                                     escaped_row_separator +
+                                     "]+".encode(@encoding))
       end
       @cr_or_lf = Regexp.new("[\r\n]".encode(@encoding))
       @not_line_end = Regexp.new("[^\r\n]+".encode(@encoding))

kou avatar Dec 24 '18 09:12 kou

This may be difficult because row separator may be two or more characters such as \r\n.

kou avatar Dec 24 '18 09:12 kou