禁止在 Ruby 的字符串#split 中禁止分隔符



我正在使用rails将旧电子表格中的数据导入数据库。

我有一列,每行都有一个列表,有时会格式化为

first, second

以及其他类似的时间

third and fourth

所以我想把这个字符串分成一个数组,用逗号或单词"and"分隔。我试过

my_string.split /s?(,|and)s?/

不幸的是,正如文件所说:

若模式包含组,则相应的匹配项也将在数组中返回。

这意味着我得到了一个看起来像的数组

[
[0] "first"
[1] ", "
[2] "second"
]

显然,只有第零个和第二个元素对我有用。你推荐什么是实现我想要做的事情的最简洁的方法?

您可以指示regexp不要使用?:捕获组。

my_string.split(/s?(?:,|and)s?/)
# => ["first", "second"] 

作为备用票据

使用rails将其放入数据库中。

请注意,这与Rails无关,那是Ruby。

最新更新