Czy każdy może znaleźć bardziej Pythoniczne, piękniejsze rozwiązanie?Znajdowanie podwójnych spacji w łańcuchu znaków - Python
Pętlę niektórych linii tekstu w pliku, aby sprawdzić, czy spełniają określone kryteria. Z jakiegoś powodu zdecydowano, że separatory wewnętrznie w linii to '', tj. Podwójna spacja.
Jak sprawdzić ciąg tekstowy, aby sprawdzić, czy wszystkie separatory są dokładnie dwiema spacjami? Spacje na końcu wiersza nie stanowią problemu, ponieważ linia jest początkowo .strip() 'ed.
Napisałem to i działa - ale jest brzydkie. Kod zostanie pokazany na niektóre Python newbie, więc szukam krótszym, bardziej przejrzyste i piękne rozwiązanie ...
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
Ładne, małe porównanie. Po prostu usunę całą górną część i dokonam edycji Twojej aktualnej odpowiedzi – jdi
@jdi - Dobra uwaga. Zawsze chcę zostawić te rzeczy, ponieważ czuję, że wkładam w to trochę pracy, ale masz rację, że jeśli nie odpowie na to pytanie, powinno zostać usunięte. – mgilson
+1 czysta odpowiedź. Pomogłbym następnemu facetowi (np. Mojej przyszłej osobie) z 'def is_doublespace_separated():' poprzedzającą. – msw