ho i seguenti nomi di file che presentano questo modello:Python regex spaccatura senza stringa vuota
000014_L_20111007T084734-20111008T023142.txt
000014_U_20111007T084734-20111008T023142.txt
...
Voglio estrarre mezzo due parti timestamp dopo la seconda sottolineatura '_'
e prima '.txt'
. Così ho usato la seguente espressione regolare Python stringa divisa:
time_info = re.split('^[0-9]+_[LU]_|-|\.txt$', f)
Ma questo mi dà due stringhe vuote in più nella lista restituita:
time_info=['', '20111007T084734', '20111008T023142', '']
Come faccio ad avere solo le informazioni francobollo due volte? Io voglio:
Questa è una bella soluzione. Grazie. – tonga
È un peccato che "split" non abbia l'opzione "nessuna stringa vuota". – Elazar
@Elazar Non proprio, è solo questione di come 're.split()' sia implementato e quale sia lo scopo previsto. In casi come questo, ha più senso costruire un modello per i dati desiderati che crearne uno per abbinare tutto ciò che non è desiderato. (Anche se 'str.split()' in realtà rilascia stringhe vuote quando il separatore non è specificato o 'None'.) – JAB