【发布时间】:2011-06-01 20:34:13
【问题描述】:
例如,我有一个这样的字符串:
options = "Cake or pie, ice cream, or pudding"
我希望能够通过or、, 和, or 拆分字符串。
问题是,我能够做到这一点,但只能通过首先解析 , 和 , or,然后在 or 处拆分每个数组项,然后将结果数组展平:
options = options.split(/(?:\s?or\s)*([^,]+)(?:,\s*)*/).reject(&:empty?);
options.each_index {|index| options[index] = options[index].sub("?","").split(" or "); }
结果数组如下:["Cake", "pie", "ice cream", "pudding"]
有没有更有效(或更简单)的方法可以在这三个分隔符上分割我的字符串?
【问题讨论】: