如何将字符串拆分为两个单独的字符串

时间:2017-11-20 20:41:28

标签: ruby split

我有以下Ruby on Rails params

<ActionController::Parameters {"type"=>["abc, def"], "format"=>:json, "controller"=>"order", "action"=>"index"} permitted: false>

我想检查字符串中是否有,,然后将其分成两个字符串,如下所示,并更新type中的params

<ActionController::Parameters {"type"=>["abc", "def"], "format"=>:json, "controller"=>"order", "action"=>"index"} permitted: false>

我试着这样做:

params[:type][0].split(",") #=> ["abc", " def"]

但我不确定为什么在第二个字符串之前有空格。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

因为字符串中有空格,所以使用split的结果也会将它包含在数组的splitted元素中。

您可以首先删除空格,然后使用拆分。或者添加', '作为拆分值,以便使用逗号和后面的空格。或者根据你想要获得的结果,在数组中映射结果元素并删除那里的空格,如:

string = 'abc, def'
p string.split ','              # ["abc", " def"]
p string.split ', '             # ["abc", "def"]
p string.delete(' ').split ','  # ["abc", "def"]
p string.split(',').map &:strip # ["abc", "def"]