将字符串拆分为数字数组

11

我的字符串:

>> pp params[:value]
"07016,07023,07027,07033,07036,07060,07062,07063,07065,07066,07076,07081,07083,07088,07090,07092,07201,07202,07203,07204,07205,07206,07208,07901,07922,07974,08812,07061,07091,07207,07902"

如何将此转换为一个包含独立数字的数组,例如:

["07016", "07023", "07033" ... ]

你应该只提供字符串。写params[:value]与问题无关且具有误导性。 - sawa
3个回答

37
result = params[:value].split(/,/)

您需要使用String#split方法


14

试试这个

arr = "07016,07023,07027".split(",")

6
请注意,您所要求的不是单独数字的数组,而是看起来像数字的字符串数组。如其他人所指出的,您可以使用以下方式获得该数组:
arr = params[:value].split(',')

# Alternatively, assuming integers only
arr = params[:value].scan(/\d+/)

如果您确实想要一个数字数组(整数),可以像这样做:

arr = params[:value].split(',').map{ |s| s.to_i }

# Or, for Ruby 1.8.7+
arr = params[:value].split(',').map(&:to_i)

# Silly alternative
arr = []; params[:value].scan(/\d+/){ |s| arr << s.to_i }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接