下面是我的文本文件的一个片段:
import re
f = open('/Users/name/Desktop/university_towns.txt',"r")
f.readlines()
Langston (Langston University)[5]
Norman (University of Oklahoma)[1]
Stillwater (Oklahoma State University)[5]
Tahlequah (Northeastern State University)[2]
我尝试了以下方法:
import re
f = open('/Users/emreyavuz/Desktop/university_towns.txt',"r")
for i in f.readlines():
if i.find(r'\(.*?\)'):
print(re.sub(r'\(.*?\)\[.*?\]', "", i))
elif i.find(r'\s?\(.*?\)'):
print(re.sub(r'\s?\(.*?\)\[.*?\]', "", i))
else:
print(re.sub(r'\[.*?\]', "", i))
上面的代码应执行以下操作:
1)如果字符串包含此处(abc)删除(abc)
2)如果字符串包含此处(abc)删除(abc)
3)如果字符串包含[2]请删除[2]
它没有给我任何错误,但第二行(elif)不工作
有谁能帮我一把吗
输出示例:
La Crosse
Madison
Menomonie
Milwaukee (Marquette University, University of Wisconsin–Milwaukee)
Oshkosh (University of Wisconsin–Oshkosh)
我们可以在这里尝试使用
re.sub
:这假设在每行末尾出现的
[num]
标记后面不会有任何内容。如果有其他内容可以遵循,则必须调整上述模式相关问题 更多 >
编程相关推荐