有什么办法可以将逗号分隔的字符串转换成Ruby中的数组?例如,如果我有一个像这样的字符串:
"one,two,three,four"
我如何将其转换成这样的数组?
["one", "two", "three", "four"]
有什么办法可以将逗号分隔的字符串转换成Ruby中的数组?例如,如果我有一个像这样的字符串:
"one,two,three,four"
我如何将其转换成这样的数组?
["one", "two", "three", "four"]
Answers:
使用split
方法来做到这一点:
"one,two,three,four".split(',')
# ["one","two","three","four"]
如果要忽略前导/尾随空白,请使用:
"one , two , three , four".split(/\s*,\s*/)
# ["one", "two", "three", "four"]
如果要将多行(即CSV文件)解析为单独的数组:
require "csv"
CSV.parse("one,two\nthree,four")
# [["one","two"],["three","four"]]
str_getcsv
,可自动处理带引号的CSV,包含(转义)逗号,多行CSV等的值?
"one, two, three, four".split(/\s*,\s*/)
。Split也可以使用正则表达式。或者,map
如果您喜欢以下语法,则可以使用该方法:"one, two, three, four".split(',').map(&:strip)
require 'csv'
CSV.parse_line('one,two,three,four') #=> ["one", "two", "three", "four"]
nil
空元素CSV.parse_line("one,two,,four") #=> ["one", "two", nil, "four"]
.csv
文件,只是一个用逗号分隔的字符串。