2016-04-21 8 views
0

einen Teil davon für die Analyse verwendet Ich habe eine txt Datei mit folgendem inSplit-String aus Textdatei aber nur

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

Wie kann ich Split verwenden, aber dann verwenden Sie nur den Namen und den Stift auf dem Bildschirm zum Ausdrucken und den Rest ignorieren? ZB

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


Jordan 1257 
Harry 1390 
+0

Ist dies eine einzelne Zeile? "Jordan: dein Pin ist bei 1257 Harry: dein Pin ist bei 1390" – jDo

Antwort

0

Sie den Index des Namens und Stift verwenden können:

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) 

Ausgang:

Jordan: 1257 
Harry: 1390 

Wenn Sie den Namen speichern und stecken Sie ein Wörterbuch verwenden können:

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 

Ausgabe:

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


Jordan: 1257 
Harry: 1390 
0

Ich nehme an, dass das Muster im gesamten Text identisch ist. Wenn ich richtig verstehe, was Sie wollen, sollte der folgende Code es für Sie tun. Er ersetzt die Teile, die Sie nicht mit Leerzeichen wollen und lässt nur den Namen und den Stift:

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

Sie brauchen nur geteilt verwenden, wenn Sie eine Liste erstellen möchten, aus dem resultierenden String:

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