Да, вы можете сделать the_string.split(",", 6)
. Однако это все равно даст «неправильный» результат, если в кавычках где-то посередине есть запятая (например, 001, "doe, john",...
).
Однако использование Shellwords здесь может быть более уместным, поскольку это также позволит другим разделам, кроме последнего, содержать запятые внутри кавычек (это также удалит кавычки, которые могут быть или не быть проблемой, в зависимости от того, что пытаюсь сделать).
Пример:
require 'shellwords'
the_string = %(001, "doe, john", "male", 37, "programmer", "likes dogs, women, and is lazy")
Shellwords.shellwords the_string
#=> ["001,", "doe, john,", "male,", "37,", "programmer,", "likes dogs, women, and is lazy"]