2016-04-21 67 views
0

我有一个txt文件与分割字符串,但只使用它的一些分析

Jordan: your pin is at 1257 
Harry: your pin is at 1390 

下面我如何使用拆分但那么只有使用名称和PIN在屏幕上打印出来并忽略其余的呢?例如

For J in file: 
    A,b,c,d,d,f,g = J. Split 
    Print(a,g) 


Jordan 1257 
Harry 1390 
+0

这是单行吗? “乔丹:你的别针是1257哈利:你的别针是1390” – jDo

回答

0

您可以使用名称和销指数:

file = ["Jordan: your pin is at 1257", "Harry: your pin is at 1390"] 

for line in file: 
    name = line.split()[0] 
    pin = line.split()[-1] 
    print(name + " " + pin) 

输出:

Jordan: 1257 
Harry: 1390 

如果你想存储的名称和个人可以使用字典:

file = ["Jordan: your pin is at 1257", "Harry: your pin is at 1390"] 

myDictionary = {} 

for line in file: 
    name = line.split()[0][:-1] 
    pin = line.split()[-1] 
    myDictionary[name] = pin 

产量:

>>> for i,j in myDictionary.items(): 
    print(i + ":" + j) 


Jordan: 1257 
Harry: 1390 
0

我假设整个文本中的模式是相同的。 如果我正确理解你想要什么,下面的代码应该为你做。它取代了你不带空格想要的部分,只留下姓名和销:

>>> input = "Jordan: your pin is at 1257 Harry: your pin is at 1390" 
>>> output = input.replace(": your pin is at ", " ") 
'Jordan 1257 Harry 1390' 

你只需要使用分裂如果你想创建一个列表,从得到的字符串:

>>> output.split() 
['Jordan', '1257', 'Harry', '1390']