自然言語テキストから日付を抽出

AppleScript名:自然言語テキストから日付を抽出
— Created 2015-10-08 by Takaaki Naganoya
— 2015 Piyomaru Software
use AppleScript version "2.5"
use framework "Foundation"
use scripting additions

set theDate to my getDatesIn:"本テキストには次の火曜日という日付情報を含んでいる。"
log theDate
–>  date "2015年10月13日火曜日 12:00:00"

set theDate to my getDatesIn:"本テキストには今度の土曜日という日付情報を含んでいる。"
log theDate
–>  date "2015年10月10日土曜日 12:00:00"

set theDate to my getDatesIn:"昨日うな重を食べた。"
log theDate
–>  date "2015年10月7日水曜日 12:00:00"

–set theDate to my getDatesIn:"一昨日何を食べたか覚えていない。"
–>  error number -2700 No date found

–set theDate to my getDatesIn:"The day after tommorow."

–set theDate to my getDatesIn:"相対日付の認識能力は低い。明後日はいつだ?"
–>  error number -2700 No date found

–set theDate to my getDatesIn:"本テキストには元旦という日付情報を含んでいる。" –This means 1/1 in next year
–>  error number -2700 No date found

on getDatesIn:aString
  set anNSString to current application’s NSString’s stringWithString:aString
  
set theDetector to current application’s NSDataDetector’s dataDetectorWithTypes:(current application’s NSTextCheckingTypeDate) |error|:(missing value)
  
set theMatch to theDetector’s firstMatchInString:anNSString options:0 range:{0, anNSString’s |length|()}
  
if theMatch = missing value then error "No date found with String:" & aString
  
set theDate to theMatch’s |date|()
  
return theDate as date
end getDatesIn:

★Click Here to Open This Script 

Please follow and like us:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です