我的列表看起来像这样
['Drexel University,\r\n Antoinette Westphal COMAD,\r\n Animation & Visual Effects,\r\n Undergraduate Program']
我想删除大学名称,即“Drexel大学”,以及\ r \ n之后的空间(包括那些空白区域)在其他单词前面。我想正则表达式是个好主意。但我不知道如何用正则表达式排除一些单词。
好吧,我已经有了解决方案。但如果有人能提供正则表达式版本,我将不胜感激。
答案 0 :(得分:0)
您可以使用.split()
按空格分割,然后按以下方式对列表进行切片:
>>> l = ['Drexel University,\r\n Antoinette Westphal COMAD,\r\n Animation & Visual Effects,\r\n Undergraduate Program']
>>> l = l[0].split()[2:]
>>> l
['Antoinette', 'Westphal', 'COMAD,', 'Animation', '&', 'Visual', 'Effects,', 'Undergraduate', 'Program']
如果您希望将其作为每个单词之间有空格的字符串,则可以使用l = ' '.join(l)
答案 1 :(得分:0)
要将一个文本列表转换为字符串列表,您可以执行以下操作:
l = ['Drexel University,\r\n Antoinette Westphal COMAD,\r\n Animation & Visual Effects,\r\n Undergraduate Program']
text = l[0]
lines = [line.strip().strip(',') for line in text.splitlines()]
在这里,我提取了列表的第一项。
然后我将第一个项目拆分为行,对于每一行,我使用strip
删除空格和“,”。
结果是:
['Drexel University', 'Antoinette Westphal COMAD',
'Animation & Visual Effects', 'Undergraduate Program']
要删除列表的第一个元素,您可以执行以下操作:
lines.pop(0)
编辑:RegEx
使用RegEx,您可以按如下方式拆分文本:
import re
text = l[0]
lines = re.split(r',\s+', text)
答案 2 :(得分:0)
如果您打算定期为其他单词做这件事。我会稍微概括一下。
从您的数据:
l = ['Drexel University,\r\n Antoinette Westphal COMAD,\r\n Animation & Visual Effects,\r\n Undergraduate Program']
将字符串分配给变量:
l = l[0]
定义您要忽略的键列表:
ignore_keys = ["Drexel University,","\n","\r"," "]
循环键以忽略并将其替换为空白
for ignore in ignore_keys:
l = l.replace(ignore,"")
然后取决于您希望结果如何表示:
列表 - l.split(",")
作为字符串 - l
结果:
print(l.split(","))
['Antoinette Westphal COMAD', 'Animation & Visual Effects', 'Undergraduate Program']
print(l)
'Antoinette Westphal COMAD,Animation & Visual Effects,Undergraduate Program'