擅长:python、mysql、java
<p>我将使用正则表达式并为关键字列表构建模式:</p>
<pre><code>pattern = '|'.join(['(' + i + ')' for i in keywords])
</code></pre>
<p>这就产生了<code>'(Date:)|(Court Time:)|(Court Room:)|(Microfilm:)'</code></p>
<p>现在,我们可以使用该模式拆分字符串:</p>
<pre><code>lst = re.split(pattern, string)
</code></pre>
<p>哪一个到达这里:<code>['', 'Date:', None, None, None, ' 02/13/2020 ', None, 'Court Time:', None, None, ' 1030 ', None, None, 'Court Room:', None, ' 0206 ', None, None, None, 'Microfilm:', ' SD000000000']</code></p>
<p>让我们对列表进行后期处理,以提取最终dict的键和值:</p>
<pre><code>def getkey(ls):
for i in ls:
if i is not None:
return i.strip().rstrip(':')
lk = len(keywords)
elts = [(lst[i: i+lk)], lst[i+lk]) for i in range(1, len(lst), lk+1)]
resul = {getkey(i): j.strip() for i,j in elts}
</code></pre>
<p>这将产生预期的结果:</p>
<pre><code>{'Date': '02/13/2020', 'Court Time': '1030', 'Court Room': '0206', 'Microfilm': 'SD000000000'}
</code></pre>