如何解析字符串以提取年份范围值然后存储到数据库?

时间:2014-12-10 13:21:12

标签: ruby ruby-on-rails-4

实际上我想从我的字符串中提取年份然后需要存储到数据库中。 所以我的字符串是

str = "1991-92,2013-14"

我希望结果是1992年和2014年

如何正确提取年份?

2 个答案:

答案 0 :(得分:2)

使用Ruby regular expression提取年度

=> str.split(',').map { |x| x[/(\d+{4})/].next }
#> ["1992", "2014"]

并使用String#next方法增加。

只有当你的所有年份都有一年的步骤时,这项工作才有用。

解释regexp:

  • (...)捕捉所有内容
  • \d任意数字
  • 4+ 4个中的一个或多个
  • f{4} f字母中的4个

答案 1 :(得分:0)

这有点黑客,但它确实起作用。

str.split(",").each do |year| 
    puts "#{year[0..1]}#{year[5..6]}"
end

输出:

1992
2014