我有一个.txt文件,其中的内容是这样的:
DIRN straight-2
FOR minutes-5
DO crossing-6
WHAT Hall-7-13
DO take-10
WHAT Hall-3-15我想要的是另一个.txt文件,它可以在python的帮助下生成,它将以此作为其最终内容:
DIRN straight
FOR minutes
DO crossing
WHAT Hall-7
DO take
WHAT Hall-3也就是说,我想删除每一行中最后一个连字符"-“之后的所有内容,包括连字符。
请帮助我的python代码,并感谢任何帮助提前。
发布于 2013-03-19 06:18:35
在Python 2或3中,这是可行的:
s='''DIRN straight-2
FOR minutes-5
DO crossing-6
WHAT Hall-7-13
DO take-10
WHAT Hall-3-15'''
import re
for line in s.splitlines():
line=re.sub(r'^(.*)-\d+$',r'\1',line)
print line您可以这样在Python中执行非正则表达式:
for line in s.splitlines():
line=line.rpartition('-')[0] if '-' in line else line
print(line)或者--也许更好:
for line in s.splitlines():
line=line[:line.rindex("-")] if '-' in line else line
print line正则表达式更具体,因为它只匹配字符串末尾的-\d+。
任何情况下,指纹:
DIRN straight
FOR minutes
DO crossing
WHAT Hall-7
DO take
WHAT Hall-3https://stackoverflow.com/questions/15487863
复制相似问题