<p>所以我有这样的东西:</p>
<pre><code>data = ['Alice Smith and Bob', 'Tim with Sam Dunken', 'Uncle Neo & 31']
</code></pre>
<p>我想用名字替换每个元素,这样看起来像这样:</p>
^{pr2}$
<p>到目前为止,我得到:</p>
<pre><code>for i in range(len(data)):
if re.match('(.*) and|with|\&', data[i]):
a = re.match('(.*) and|with|\&', data[i])
data[i] = a.group(1)
</code></pre>
<p>但它似乎不起作用,我想这是因为我的模式,但我想不出正确的方法来做到这一点。在</p>
<p>你可以试试这个:</p>
<pre><code>import re
data = ['Alice Smith and Bob', 'Tim with Sam Dunken', 'Uncle Neo & 31']
final_data = [re.sub('\sand.*?$|\s&.*?$|\swith.*?$', '', i) for i in data]
</code></pre>
<p>输出:</p>
^{pr2}$