2016-03-15 74 views
-1

如何在Ruby中将空格分隔的字符串转换为CSV字符串?是否有可用于实现此目的的内置方法?如何在Ruby中将空白字符串转换为CSV字符串?

代码:

@stores = current_user.channels 
puts @stores  

电流输出:

TMSUS TMSCA 

预期输出:

TMSUS,TMSCA 
+1

你的代码部分是什么?这与问题有关? – sawa

+1

欢迎来到SO。请阅读“[问]”,包括底部的链接和“[mcve]”。你需要向我们展示你的努力:你在哪里搜索,为什么没有帮助?或者,你写了什么来解决这个问题?因为它看起来像你要求我们为你写一个脱离主题的解决方案。向我们展示你的(失败的)代码和我们帮助解决它,比给我们写一些与你的代码完全无关的东西更好,并且你试图合并它。 –

+1

另外,您向我们展示的小代码与您的问题没有任何关系。 “[mcve]” –

回答

5

有Ruby的Here

require 'csv' 
stores = 'TMSUS THSCA' 
stores.split(' ').to_csv 
一个CSV库

请勿使用gsub来做到这一点。如果您的字符串中包含逗号,则会破坏您的CSV。 CSV库确实为您逃脱。

+0

感谢Michael也描述了这一点。 – 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库是正确的逃逸并引用其可能需要的值。