Ruby 如何将字符串拆分为数组中两个单独的字符串
我有以下Ruby on Rails参数: 我试着像下面这样做:Ruby 如何将字符串拆分为数组中两个单独的字符串,ruby,split,Ruby,Split,我有以下Ruby on Rails参数: 我试着像下面这样做: params[:type][0].split(",") #=> ["abc", " def"] 但我不确定为什么在第二个字符串之前有空格 如何实现这一点?因为字符串中有空格,所以使用split的结果也会将其包含在数组的splited元素中 您可以先删除空白,然后使用split。或者添加“,”作为拆分值,以逗号及其后的空格为顺序。或者根据您试图获得的结果,映射数组中的结果元素并删除其中的空白,如: string = 'abc,
params[:type][0].split(",") #=> ["abc", " def"]
但我不确定为什么在第二个字符串之前有空格
如何实现这一点?因为字符串中有空格,所以使用split的结果也会将其包含在数组的splited元素中 您可以先删除空白,然后使用split。或者添加“,”作为拆分值,以逗号及其后的空格为顺序。或者根据您试图获得的结果,映射数组中的结果元素并删除其中的空白,如:
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"]
只需去除数组-params[:type][0]。split、.compact.collect&:strip delete“”将从字符串中删除所有空格字符,而不仅仅是多余的空格。p string.split、.map&:strip将是一个更好的选择,尽管split',如果可能的话是最好的情况。@Sebastian Palma。谢谢我刚刚意识到,如果我有3个值,例如[abc,def,],那么最后一个值是空白值。我也可以把它分开吗。我尝试过,但它给出了[abc,def,\\],您可以使用string.split',',string.delete'.split',或拒绝数组string.split','中的空值。map&:strip.reject&:empty?。
params[:type][0].split(",") #=> ["abc", " def"]
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"]