2016-03-15 2 views
-1

Как преобразовать строку с разделителями пробелов в строку CSV в Ruby? Есть ли встроенный метод, который можно было бы использовать для достижения этого?Как преобразовать строку пробела в строку CSV в Ruby?

Код:

@stores = current_user.channels 
puts @stores  

Выходной ток:

TMSUS TMSCA 

Ожидаемый результат:

TMSUS,TMSCA 
+1

Какая у вас часть кода? Это относится к вопросу? – sawa

+1

Добро пожаловать в SO. Пожалуйста, прочитайте «[ask]», включая ссылки внизу, и «[mcve]». Вы должны показать нам свои усилия: где вы искали и почему не помогли? Или, что вы написали, чтобы решить это? Похоже, вы просите нас написать решение для вас, которое не соответствует теме. Вам лучше показать нам свой (неудачный) код, и мы помогли его исправить, чем нам написать что-то совершенно не связанное с вашим кодом, и вы пытаетесь его включить. –

+1

Кроме того, маленький код, который вы нам показали, не имеет отношения к вашему вопросу. «[mcve]» –

ответ

5

Существует библиотека CSV в Рубине Here

require 'csv' 
stores = 'TMSUS THSCA' 
stores.split(' ').to_csv 

Не используйте gsub для этого. Если бы у вас была строка с запятой, это сломало бы ваш CSV. Библиотека CSV для вас ускользает.

+0

Спасибо, Майкл за это тоже. – user2325154

+0

Я собираюсь поставить вышеупомянутое решение в один из контроллеров Rails. Нужно ли указывать строку 'require 'csv'' внутри контроллера? – user2325154

+0

Вы должны указать его, где вы используете код. Зная Rails, как он загружает все, это, вероятно, уже требуется, но всегда приятно, чтобы эти типы требований были явными в верхней части кода, используя его. –

2

Вы можете использовать CSV library:

require 'csv' 

string = 'TMSUS THSCA' 

CSV.generate do |csv| 
    csv << string.split 
end 

# => "TMSUS,THSCA\n" 

Преимущество использования библиотеки CSV это правильно сбегает и цитирует значения, которые могут потребовать этого.

Смежные вопросы