Qualcuno può trovare una soluzione più pitoneica e più bella?Ricerca di doppi spazi in una stringa - Python
Sto collegando alcune righe di testo in un file, per verificare se soddisfano determinati criteri. Per qualche motivo è stato deciso che i separatori all'interno della linea sono "", cioè doppio spazio.
Come si controlla una stringa di testo per verificare che tutti i separatori siano esattamente due spazi? Gli spazi alla fine della linea non sono un problema, poiché la linea è inizialmente .strip() 'ed.
Ho scritto questo e funziona, ma è brutto. Il codice verrà mostrato ad alcuni Python newbie, quindi sto cercando una soluzione più breve, più chiara e più bella ...
ll = ["53.80 64-66-04.630N 52-16-15.355W 25-JUN-1993:16:48:34.00 S10293.. 2",
" 53.80 64-66-04.630N 52-16-15.355W 25-JUN-1993:16:48:34.00 S10293.. 2",
"53.80 64-66-04.630N 52-16-15.355W 25-JUN-1993:16:48:34.00 S10293.. 2",
" 53.80 64-66-04.630N 52-16-15.355W 25-JUN-1993:16:48:34.00 S10293.. 2",
"53.80 64-66-04.630N 52-16-15.355W 25-JUN-1993:16:48:34.00 S10293.. 2 ",
"53.80 64-66-04.630N 52-16-15.355W 25-JUN-1993:16:48:34.00 S10293.. 2 ",
"53.80 64-66-04.630N 52-16-15.355W 25-JUN-1993:16:48:34.00 S10293.. 2"]
for ln in ll:
l = ln.strip()
bolDS = True
for n in range(len(l)-1):
if (n>0 and l[n]==' ' and not ((l[n]==l[n+1])^(l[n]==l[n-1]))):
bolDS = False
print "|"+l+"|",bolDS
Bel piccolo confronto. Vorrei solo cancellare l'intera parte superiore e rendere la modifica la tua risposta effettiva – jdi
@jdi - Buon punto. Voglio sempre lasciare quella roba perché mi sembra di aver lavorato un po ', ma hai ragione che se non risolve la questione, dovrebbe essere cancellata. – mgilson
+1 risposta pulita. Aiuterei il prossimo ragazzo (ad esempio il mio futuro io) con un 'def is_doublespace_separated():' precedendolo. – msw