Для анализа CSV Ruby поставляется с библиотекой csv
:
require 'csv'
CSV.parse(csv_string)
# => [['Value 1', 'Value 2', "Hey, it's value 3!", 'Value 4 has "some quotes"']]
К сожалению, ваша строка на самом деле не содержит действительного CSV, так что вы получите действительно следующее исключение:
# CSV::MalformedCSVError: Illegal quoting on line 1.
Поскольку ваши данные на самом деле не соответствуют ни одному общему стандарту, очевидно, что не может быть общего анализатора, и вам придется написать свой собственный.
В качестве альтернативы вы можете изменить свои данные на действительные CSV, например, так:
c = %q[Value 1,Value 2,"Hey, it's value 3!","Value 4 has ""some quotes"""]
CSV.parse(c)
# => [['Value 1', 'Value 2', "Hey, it's value 3!", 'Value 4 has "some quotes"']]