擅长:python、mysql、java
<p>仅稍微修改了您的代码:</p>
<pre><code>with open(filepath) as f:
name = ''
for line in f:
if line and line.find(" ") == -1 and re.search(
"Company|Rent", line) is None:
if re.match('^[a-zA-Z]', line) is not None:
names = re.findall(r'\b([a-zA-Z]+)\b', line)
names = ' '.join(names)
name += names
elif re.match('^[0-9]', line) is not None:
number = line.split(' ', 1)[0]
print([number, name])
name = ''
</code></pre>
<p>这假设您已经正确地分离了垃圾,并且逻辑本身是正确的。
主要修复方法是在后续行中连接名称部分</p>
<p>如果使用上述文件内容(将垃圾行替换为与正则表达式不匹配的内容),我会得到:</p>
<pre><code>['2135', 'Andy Candy Store']
['4512', 'Moody Group']
</code></pre>