diff --git a/papaparse.js b/papaparse.js index 2e23552..5307063 100755 --- a/papaparse.js +++ b/papaparse.js @@ -1257,7 +1257,7 @@ { input = input.substr(0, 1024 * 1024); // max length 1 MB // Replace all the text inside quotes - var re = new RegExp(quoteChar + '(.*?)' + quoteChar, 'gm'); + var re = new RegExp(quoteChar + '([^]*?)' + quoteChar, 'gm'); input = input.replace(re, ''); var r = input.split('\r'); diff --git a/tests/test-cases.js b/tests/test-cases.js index 8624905..2143482 100644 --- a/tests/test-cases.js +++ b/tests/test-cases.js @@ -1211,7 +1211,7 @@ var PARSE_TESTS = [ }, { description: "Carriage return in header inside quotes, with line feed endings", - input: '"a\r\na","b"\n"c","d"\n"e","f"\n"g","h"\n"i","j"\n', + input: '"a\r\na","b"\n"c","d"\n"e","f"\n"g","h"\n"i","j"', config: {}, expected: { data: [['a\r\na', 'b'], ['c', 'd'], ['e', 'f'], ['g', 'h'], ['i', 'j']], @@ -1220,7 +1220,7 @@ var PARSE_TESTS = [ }, { description: "Line feed in header inside quotes, with carriage return + line feed endings", - input: '"a\na","b"\r\n"c","d"\r\n"e","f"\r\n"g","h"\r\n"i","j"\r\n', + input: '"a\na","b"\r\n"c","d"\r\n"e","f"\r\n"g","h"\r\n"i","j"', config: {}, expected: { data: [['a\na', 'b'], ['c', 'd'], ['e', 'f'], ['g', 'h'], ['i', 'j']],