擅长:python、mysql、java
<p>要在自然语言文本中查找日期/时间并返回它们在输入文本中的位置,从而允许获取非日期文本:</p>
<pre><code> #!/usr/bin/env python
import parsedatetime # $ pip install parsedatetime
cal = parsedatetime.Calendar()
for text in ['monkey 2010-07-10 love banana',
'monkey Feb 20, 2015 loves 2014 bananas']:
indices = [0]
for parsed_datetime, type, start, end, matched_text in cal.nlp(text) or []:
indices.extend((start, end))
print([parsed_datetime, matched_text])
indices.append(len(text))
print([text[i:j] for i, j in zip(indices[::2], indices[1::2])])
</code></pre>
<h3>输出</h3>
^{pr2}$
<p>注意:<code>parsedatetime</code>无法将<code>2010-07-10</code>识别为第一个字符串中的日期。<code>2010</code>和{<cd4>}在两个字符串中都被识别为时间(<code>20:10</code>和{<cd6>})。在</p>