2024-04-19 09:44:04 发布
网友
我是Python新手。我正在寻找最好的方法来删除包含字符的文件中的所有行。在
例如,从下面看,处理后只有User1、User2、User3和user4。注意用户4有一个空格。在
5!pY "TmL c]+y?" |)}?E \e2g% User1 User2 User3 User 4 11-01-05 [GO-B
如果有人能为我指出正确的方向,我将不胜感激。在
谢谢
如果您的意思是删除所有包含非字母、数字或空格字符的行,那么这应该可以做到这一点。在
import string data = """5!pY TmL c]+y?" |)}?E \e2g% User1 User2 User3 User 4 11-01-05 [GO-B""" allowed = string.letters + string.digits + ' ' clean_data = [item for item in data.split('\n') if set(item).issubset(allowed)] print clean_data # ['TmL', 'User1', 'User2', 'User3', 'User 4']
我想所有这些行都包含字符,所以我假设你指的是标点符号和空格?在
import sys,string xChars = string.punctuation + " " for x in sys.stdin: for c in x. strip(): if c in xChars: break else: print x.strip()
在包含示例数据的文件“deleteme”上运行此脚本:
如果您可以确保将有一个用户单词,则可以使用该单词来标识“有效”文本:可以使用正则表达式来查找字符串“User”,后跟0个或多个空格,后跟一个或多个数字:
>>> import re >>> line='5!pY "TmL c]+y?" |)}?E \e2g% User1 User2 User3 User 4 11-01-05 [GO-B' >>> regex=re.compile("User\s*\d+") >>> regex.findall(line) ['User1', 'User2', 'User3', 'User 4']
否则,您需要编辑问题并提供更多信息。在
如果您的意思是删除所有包含非字母、数字或空格字符的行,那么这应该可以做到这一点。在
我想所有这些行都包含字符,所以我假设你指的是标点符号和空格?在
在包含示例数据的文件“deleteme”上运行此脚本:
^{pr2}$如果您可以确保将有一个用户单词,则可以使用该单词来标识“有效”文本:可以使用正则表达式来查找字符串“User”,后跟0个或多个空格,后跟一个或多个数字:
否则,您需要编辑问题并提供更多信息。在
相关问题 更多 >
编程相关推荐