首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python从文本文件中提取详细信息

使用python从文本文件中提取详细信息
EN

Stack Overflow用户
提问于 2013-03-19 06:07:17
回答 1查看 70关注 0票数 0

我有一个.txt文件,其中的内容是这样的:

代码语言:javascript
复制
DIRN straight-2
FOR minutes-5
DO crossing-6
WHAT Hall-7-13
DO take-10
WHAT Hall-3-15

我想要的是另一个.txt文件,它可以在python的帮助下生成,它将以此作为其最终内容:

代码语言:javascript
复制
DIRN straight
FOR minutes
DO crossing
WHAT Hall-7
DO take
WHAT Hall-3

也就是说,我想删除每一行中最后一个连字符"-“之后的所有内容,包括连字符。

请帮助我的python代码,并感谢任何帮助提前。

EN

回答 1

Stack Overflow用户

发布于 2013-03-19 06:18:35

在Python 2或3中,这是可行的:

代码语言:javascript
复制
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中执行非正则表达式:

代码语言:javascript
复制
for line in s.splitlines():
    line=line.rpartition('-')[0] if '-' in line else line
    print(line)

或者--也许更好:

代码语言:javascript
复制
for line in s.splitlines():
    line=line[:line.rindex("-")] if '-' in line else line    
    print line

正则表达式更具体,因为它只匹配字符串末尾的-\d+

任何情况下,指纹:

代码语言:javascript
复制
DIRN straight
FOR minutes
DO crossing
WHAT Hall-7
DO take
WHAT Hall-3
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15487863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档