Rubyを使用して非構造化テキストから日付を抽出する方法を理解しようとしています。
たとえば、この文字列から日付を解析したいと思います。「2010年2月1日午前0時(EST)以降に開始されたアプリケーションは考慮されません。」
助言がありますか?
Rubyを使用して非構造化テキストから日付を抽出する方法を理解しようとしています。
たとえば、この文字列から日付を解析したいと思います。「2010年2月1日午前0時(EST)以降に開始されたアプリケーションは考慮されません。」
助言がありますか?
Chronic(http://chronic.rubyforge.org/)を試してください。解析できる可能性があります。そうしないと、Date.strptimeを使用する必要があります。
日時ではなく日付だけが必要だと仮定します。
require 'date'
string = "Applications started after 12:00 A.M. Midnight (EST) February 1, 2010 will not be considered."
r = /(January|February|March|April|May|June|July|August|September|October|November|December) (\d+{1,2}), (\d{4})/
if string[r]
date =Date.parse(string[r])
puts date
end
また、文字列内の日付を見つけるのに役立つ宝石を試すことができます。
例:
input = 'circa 1960 and full date 07 Jun 1941'
dates_from_string = DatesFromString.new
dates_from_string.get_structure(input)
#=> return
# [{:type=>:year, :value=>"1960", :distance=>4, :key_words=>[]},
# {:type=>:day, :value=>"07", :distance=>1, :key_words=>[]},
# {:type=>:month, :value=>"06", :distance=>1, :key_words=>[]},
# {:type=>:year, :value=>"1941", :distance=>0, :key_words=>[]}]