假设我有一个带有逗号分隔值的字符串,这些值用单引号括起来,可能包含也可能不包含逗号,如下所示:
"'apples,bananas','lemons'"
我想把它分成一个数组
["apples,bananas", "lemons"]
显然,如果我split(',')
得到的字符串
[ "'apples", "bananas'", "lemons" ]
我不明白。我想出的唯一方法是
a = []
s = "'apples,bananas','lemons'"
s.scan(/\'([^\']+)\'/){|i| a << i[0]}
# result is ["apples,bananas", "lemons"]
但是有没有更优雅的方式呢?是否有我没有得到的 split 方法导致奇怪的结果?