Search
 
SCRIPT & CODE EXAMPLE
 
CODE EXAMPLE FOR JAVASCRIPT

javascript csv string with commas in fields

// Return array of string values, or NULL if CSV string not well formed.
function CSVtoArray(text) {
    var re_valid = /^s*(?:'[^']*(?:[Ss][^']*)*'|"[^"]*(?:[Ss][^"]*)*"|[^,'"s]*(?:s+[^,'"s]+)*)s*(?:,s*(?:'[^']*(?:[Ss][^']*)*'|"[^"]*(?:[Ss][^"]*)*"|[^,'"s]*(?:s+[^,'"s]+)*)s*)*$/;
    var re_value = /(?!s*$)s*(?:'([^']*(?:[Ss][^']*)*)'|"([^"]*(?:[Ss][^"]*)*)"|([^,'"s]*(?:s+[^,'"s]+)*))s*(?:,|$)/g;
    // Return NULL if input string is not well formed CSV string.
    if (!re_valid.test(text)) return null;
    var a = [];                     // Initialize array to receive values.
    text.replace(re_value, // "Walk" the string using replace with callback.
        function(m0, m1, m2, m3) {
            // Remove backslash from ' in single quoted values.
            if      (m1 !== undefined) a.push(m1.replace(/'/g, "'"));
            // Remove backslash from " in double quoted values.
            else if (m2 !== undefined) a.push(m2.replace(/"/g, '"'));
            else if (m3 !== undefined) a.push(m3);
            return ''; // Return empty string.
        });
    // Handle special case of empty last value.
    if (/,s*$/.test(text)) a.push('');
    return a;
};
Source by stackoverflow.com #
 
PREVIOUS NEXT
Tagged: #javascript #csv #string #commas #fields
ADD COMMENT
Topic
Name
8+9 =