我試圖從SQL數據庫中的非常大的文本樣本中提取儘可能多的日期(YMD,YM或甚至只是Y)。數據庫中的所有文本都是純英文的,並且也包含大量的文本。我期望做的是儘可能多地找到這些日期,將它們識別爲日期,並找出它們代表的日期以及找到的字符串。有沒有辦法去解決這個問題,而不是想到我可以用一切可能的正則表達來涵蓋像1923年1月23日這樣的案例,同時也涵蓋了像「20世紀80年代」和「1962年標誌着開始」這樣的案例。有沒有一個項目已經有這樣的例子?謝謝!從各種格式的字符串中提取日期
0
A
回答
1
看來你需要的混合:
1)採取從日期字符串使用正則表達式與substring postgresql功能:
substring(string from pattern)
substring('foobar' from '%#"o_b#"%' for '#') oob
2)對所有可能的日期格式工作。 Regular Expression to match valid dates可以是一個起點。
也許你可以自己編寫user defined function來做這種翻譯。不要忘記與我們分享;)
* EDITED *
如果這是一個時間的工作。您可以導出日期並使用python parsedatetime library解析日期,然後返回到數據庫。
parsedatetime is able to parse, for example, the following: August 25th, 2008 25 Aug 2008 Aug 25 5pm 5pm August 25 next saturday tomorrow next thursday at 4pm at 4pm eod tomorrow eod eod tuesday eoy eom in 5 minutes 5 minutes from now 5 hours before now 2 hours before noon 2 days from tomorrow
0
這取決於你的問題的未來的複雜性(例如,更多的格式和其他的可能性,涉及),但我認爲你可以檢查一些時空標記加註這在一般應處理大多數情況下,你認爲。你可以從Stanford SUTime開始,它實際上也使用規則。
相關問題
- 1. PHP - 將字符串轉換爲各種日期格式
- 2. 從字符串中提取複雜的日期/時間格式
- 3. 從json日期字符串中提取日期到字符串
- 4. 從字符串獲取日期格式
- 5. 從字符串中提取各種字符(替代方法)
- 6. 從字符串中提取格式不一致的日期(日期解析,NLP)
- 7. 如何從日期字符串中獲取日期格式?
- 8. 從字符串中提取日期
- 9. 從字符串中提取日期
- 10. 從字符串中提取日期值
- 11. 從字符串中提取日期+ PHP
- 12. 從C#中的字符串中獲取多種可能的格式的日期。
- 13. 如何從日期字符串格式獲取日期對象
- 14. 格式的NSDate從字符串日期
- 15. 如何從日期字符串通過jquery或javascript提取日期格式
- 16. Javascript格式日期從字符串到日期格式
- 17. 如何從字符串中有效地提取各種值
- 18. 如何格式化另一種格式的字符串日期?
- 19. 從字符串提取日期(URL)
- 20. 從日期提取時間字符串
- 21. 從SQL提取日期字符串
- 22. 從字符串提取日期
- 23. SQL:從字符串提取日期
- 24. 從大字符串提取日期
- 25. 字符串日期格式
- 26. 格式字符串日期
- 27. 日期字符串格式
- 28. 從字符串中提取日期的正則表達式
- 29. 以各種格式寫入日期
- 30. 從日期(字符串格式)選擇
我一定會在需要時分享它。我想我最終會用更高級的語言來寫它,儘管我一旦找出如何去做。我已經聯繫了一些人,在做關於如何做到這一點的NLP研究。會回發! – jrbalsano 2012-08-05 15:06:28
@Redian,我編輯了答案。看看它。祝你好運! – danihp 2012-08-05 15:55:33