Как преобразовать строку, содержащую запятую, в массив в ruby ​​1.9.2?

У меня есть строка, как показано ниже

 "\"123\",\"Columbia, Gem Of The Ocean\""

Я хочу преобразовать его в массив, и я должен получить вывод, как показано ниже.

["123","Columbia, Gem Of The Ocean"]

Но когда я использую метод разделения запятой в строке, я получаю результат, как показано ниже.

 ["\"123\"", "\"Columbia", " Gem Of The Ocean\""]

Он разделяет "Columbia, Gem Of The Ocean" на ",", но я этого не хочу.

Есть parse_line method of csv, но он не работает в ruby 1.9.2.

Пожалуйста, предложите какое-нибудь решение. Заранее спасибо.


person Deepika    schedule 30.10.2012    source источник


Ответы (1)


Ваше описание и ожидаемый результат не совпадают. Вы не хотите разделять его (всеми) запятыми. Вы хотите извлечь части, заключенные в двойные кавычки.

string.scan(/".*?"/)

Если вам не нужны цитаты, то

string.scan(/"(.*?)"/).flatten(1)
person sawa    schedule 30.10.2012
comment
Большое спасибо за ваш ответ. Это действительно полезно. - person Deepika; 30.10.2012