我完全新的Python和会问的任何帮助。
我有,我有做一些清洁的文本文件,也就是我必须从行删除一些字符串模式。下面是我迄今所做的:
f = open("myfile.txt", "r")
mylist = []
for i in f:
mylist.append(i.strip().split('\t')) #removing newlines '\n'
for i in range(0, len(mylist)): # iterate the list to find the string pattern
#if "@@" in mylist[i]: # I have tried this as well
if mylist[i].count('@@') > 0:
print(mylist[i])
else:
print('NOT')
此代码没有找到我想要的字符串模式。
import re
data = [line
for line in f.readlines()
if re.findall(r'@@', line)] # iterate the list to
你可以尝试以下功能:find()。它返回其中子被发现的位置。
if ("@@".find(mylist[i]) != -1):
print(mylist[i])
我会作出简单得多:
for line in f.readlines():
if '@@' in line:
print(line)
else:
print('NOT')
你可以试试这个直接删除的格局。为什么通过搜索第一再取出,以增加更多的复杂性?
mylist = []
for i in f:
# you can use readline() function here
mylist.append(i.strip().split('\t')) #removing newlines '\n'
my_new_list = [mystr.replace("@@",'') for mystr in mylist]
你也可以做到这一点在一个行,如下所示:
with open('your_file_path_here','r') as f:
print([mystr.replace("@@",'') for mystr in f.readlines()])