Python code to replace specific list of strings
嘿,我目前正在使用python读取一个txt文件中的字符串列表,我想切断前面的多个字符串,例如
我的txt文件中的示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 | Jack: Black Jack: Sparrow Jimm: Oliver Jimm: Next Jimm: Red Ston: Cold Bill: Black |
我想从每行中删除前5个字符串(包括":"),这样期望的结果可能是
1 2 3 4 5 6 7 8 9 10 11 12 13 | Black Sparrow Oliver Next Red Cold Black |
我一直在尝试使用.replace(),但我既不能确定字符串,也不能使用字符串切片(它将只剪切第一行中的几个字符)
当前我的程序如下:
1 2 3 4 | with open("C:\\Documents and Settings\\Zha\\Desktop\\test3.txt","r") as text: a = text.read() b = str(a).replace(a[:5],'') print b |
电流输出为
1 2 3 4 5 6 7 8 9 10 11 12 13 | Black Sparrow Jimm: Oliver Jimm: Next Jimm: Red Ston: Cold Bill: Black |
迭代文件中的每一行:
1 2 3 | with open(filename,"r") as text: for line in text: print line[6:] |
1 2 3 4 | "Jack: Black Jack: Sparrow Jimm: Oliver " # and so on |
所以,
对于您试图实现的目标,
1 | b = [line.split()[1] for line in text.readlines()] |
也就是说,"对于文件中的每一行,用空格分隔,然后给我第二部分"。这给了
使用
1 2 3 4 | with open("C:\\Documents and Settings\\Zha\\Desktop\\test3.txt","r") as text: for line in text: if line.strip(): print line.split(':')[1].strip() |
您可以使用以下代码执行此操作:
1 2 3 4 5 6 7 8 9 | with open('input.txt') as f: f = f.readlines() f = [i[6:].strip() for i in f] print f [OUTPUT] ['Black', 'Sparrow', 'Oliver', 'Next', 'Red', 'Cold', 'Black'] |