Ho una stringa come "GoTo: 7018 6453 12654\n"
voglio solo ottenere il numero di qualcosa di simile ['7018', '6453', '12654']
, mi cerca espressione regolare ma non posso dividere stringa per ottenere solo il numero qui è il mio codice:Dividere la stringa e ottenere semplicemente il numero in python?
Esempio 1:
splitter = re.compile(r'\D');
match1 = splitter.split("GoTo: 7018 6453 12654\n")
my output is: ['', '', '', '', '', '', '', '', '7018', '6453', '12654', '']
Esempio 2:
splitter = re.compile(r'\W');
match1 = splitter.split("GoTo: 7018 6453 12654\n")
my output is: ['GoTo', '', '7018', '6453', '12654', '']
+1 per i non-re. Si potrebbe facilmente lanciare 'int (item)' anche lì, se fosse necessario in seguito. – plundra
Ha un po 'di tempo ... Se split + isdigit è il valore di base (è il più veloce), re.findall è 1.5 volte più lento e non compilato re.findall 2.5. – plundra
Funziona solo se il separatore è puro spazio (ad esempio anche "1, 2, 3" lo interromperà) – 6502