Python 如何通过删除';[&';结束(在';[ed';上使用拆分并选择第一个元素)

Python 如何通过删除';[&';结束(在';[ed';上使用拆分并选择第一个元素),python,string,split,Python,String,Split,如果我运行上述代码,那么将获得以下输出 file = open('university_towns.txt','r') lines = file.readlines() lst = []; state = ''; region = '' for name in lines: if name == '[ed': state = name.split('[ed',0) 但我只想要以[ed]结尾的元素 请帮忙 提前谢谢 ['Alabama[edit]\n', 'Auburn

如果我运行上述代码,那么将获得以下输出

file = open('university_towns.txt','r')
lines = file.readlines()
lst = []; state = ''; region = ''
for name in lines:
    if name == '[ed':
        state = name.split('[ed',0)
但我只想要以[ed]结尾的元素

请帮忙

提前谢谢

['Alabama[edit]\n',
'Auburn (Auburn University)[1]\n',
'Florence (University of North Alabama)\n',
'Jacksonville (Jacksonville State University)[2]\n',
'Livingston (University of West Alabama)[2]\n',
'Montevallo (University of Montevallo)[2]\n',
'Troy (Troy University)[2]\n',
'Tuscaloosa (University of Alabama, Stillman College, Shelton State)[3][4]\n',
'Tuskegee (Tuskegee University)[5]\n',
'Alaska[edit]\n',
'Fairbanks (University of Alaska Fairbanks)[2]\n',
'Arizona[edit]\n',
'Flagstaff (Northern Arizona University)[6]\n',
'Tempe (Arizona State University)\n',
'Tucson (University of Arizona)\n',

请尝试此操作。要使用正则表达式。
Split
将在不进行拆分时以1元素列表的形式返回原始字符串。注意,在下面的示例中,我假设您需要以
“[edit]”结尾的行。

此外,在迭代文本文件时,还应使用上下文管理器并避免调用readlines

items = []
for name in lines:
    if '[edit]' in name:
        items.append(name.split('[')[0])
print(items)

显示的代码没有输出任何内容。代码将文件读取到lines变量中。我没有物理文件-这是一个在线任务。我得到了以下输出:
Alabama[edit]Alaska[edit]Arizona[edit]
@SaifMehdi所以现在你需要删除每个元素末尾的edit,对吗?谢谢。我同样需要得到其他元素,这些元素末尾有[1]、[2]、[3]等等
import re

patt = r'\[edit\]$'

with open('university_towns.txt','r') as f:
    for line in f:
        if re.search(patt, line):
            # do something here