擅长:python、mysql、java
<p><strong>非正则表达式解决方案:</p>
<p>您可以先将字符<code>'-\\n</code>分条,然后使用<code>str.isalpha</code>或空格只提取字母表中的字符,然后过滤掉空的子字符串<code>''</code>。你可能需要在最后去掉空白字符,而</p>
<pre class="lang-py prettyprint-override"><code>>>> list(filter(lambda x: x!='', (''.join(j for j in i.strip('\'-\\\\n') if j.isalpha() or j==' ').strip() for i in my_list)))
['Assistant nursing', 'Astronomy', 'Astrophysics']
</code></pre>
<p>如果要使用<strong>regex</strong>,可以使用模式:<code>'([A-Za-z].*?)\\\\n'</code>和<code>re.findall</code>,然后过滤掉空列表中的元素,最后可以展平列表</p>
<pre class="lang-py prettyprint-override"><code>>>> import re
>>> list(filter(lambda x: x, [re.findall('([A-Za-z].*?)\\\\n', i) for i in my_list]))
[['Assistant nursing'], ['Astronomy'], ['Astrophysics']]
</code></pre>