Ruby:在字符串数组中查找日期

Big*_*inn 1 ruby date

我正在搜索一组字符串,寻找Date:

我正在使用这种方法吗? 或者...有没有更好的选择.

或许更"美丽"的方式呢?

    query = {'Hvaða','mánaðardagur','er','í','dag?','Það','er','02.06.2011','hví','spyrðu?'}

    def has_date(query)
        date = nil
        query.each do |q|
            begin
                date = Date.parse(q)
                query.delete(q)
                break
            rescue
            end
       end
       return date
    end
Run Code Online (Sandbox Code Playgroud)

mae*_*ics 7

请注意,在Ruby中,我们[]对数组文字使用方括号(花括号{}用于哈希文字).

这是一个解决方案,它将在数组中找到所有日期并将它们作为字符串返回(感谢@steenslag):

require 'date'
arr = ['Hvaða', 'er', '02.06.2011', 'hví', '2011-01-01', '???']
dates = arr.select { |x| Date.parse(x) rescue nil }
dates # => ["02.06.2011", "2011-01-01"]
Run Code Online (Sandbox Code Playgroud)