Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #33857

Re: elementarne pytania z pythona

From Piotr Chamera <piotr_chamera@poczta.onet.pl>
Newsgroups pl.comp.programming
Subject Re: elementarne pytania z pythona
Date 2020-04-11 12:59 +0200
Organization A noiseless patient Spider
Message-ID <r6s7u8$9ac$1@dont-email.me> (permalink)
References (2 earlier) <35a7e0da-aafd-48be-84e0-dfbc14674e4f@googlegroups.com> <bf7a5c3a-4d6e-4d07-8067-58e3f32a511a@googlegroups.com> <r6s2u1$a7q$1@dont-email.me> <fb261642-c7b9-45c8-bf14-1c6eaa64d578@googlegroups.com> <5a6fc0d8-7404-47ba-b150-5e650ee5858c@googlegroups.com>

Show all headers | View raw


W dniu 2020-04-11 o 12:06, fir pisze:
> jeszcze jedno pytanke, jesli mozn, ulatwiloby mi sprawe
> 
> to ogniem i mieczem przkonwertowalem sobie z epub na txt jakism konwerterem
> zachowal unicode itd chyab wszystko jest ok poza faktem ze tam gdzie powinno byc jedno newline 0x0d 0x0a pwoiedzmy jest za kazdym razem 0x0a 0x0a 0x0a (trzy 0A)
> i wiekszosc edytorow traktuje to jako 3 newliny
> 
> jak sprawdzc czy
> ogniem_i_mieczem_text[m] jest pojedyncza linia z 0x0a? ew jak napisac prsty konwerter w pythonie ktory by polknal plik i zamianil kazde 3 0x0A na jedno 0xA

To już moja ostatnia odpowiedź dzisiaj.


Konwersja całości, to najprościej chyba jakoś tak:

s jest twoim źródłowym tekstem

 >>> s.replace(u"\u000a\u000a\u000a", u"\u000a")

albo

 >>> s.replace(u"\n\n\n", u"\n")

ale nie wiem, czy interpretacja \n nie zależy od systemu

uwaga: to zwraca nowego stringa, nie podmienia w oryginalnym.




A sprawdzania można zrobić np. tak:

przykładowy wieloliniowy tekst:

s = u"""ahjklsl


ajkshgjkgh


hsajhkjhskj


hnajkhjhjl"""


poniższe sprawdza czy podany tekst dzieli się na określone 3 części

 >>> m = re.match(u"(.*?)(\u000a+)(.*)", s, flags=re.DOTALL)

(.*?) ta grupa dopasowuje dowolny tekst w sposób niezachłanny
(\u000a+) ta grupa dopasowuje jeden lub więcej znaków końca linii
(.*) tu wpychamy całą resztę tekstu

i teraz możemy sprawdzić

jaki był pierwszy wiersz

 >>> m.group(1)
u'ahjklsl'

ile znaków końca linii było po pierwszym wierszu
 >>> len(m.group(2))
3
 >>> m.group(2)
u'\n\n\n'

czy w tekście było coś jeszcze
 >>> len(m.group(3))
37
 >>> m.group(3)
u'ajkshgjkgh\n\n\nhsajhkjhskj\n\n\nhnajkhjhjl'

Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

elementarne pytania z pythona fir <profesor.fir@gmail.com> - 2020-04-10 03:59 -0700
  Re: elementarne pytania z pythona Antoni <0xtrzy@wwpp.pl> - 2020-04-10 16:56 +0200
    Re: elementarne pytania z pythona fir <profesor.fir@gmail.com> - 2020-04-10 09:07 -0700
  Re: elementarne pytania z pythona Piotr Chamera <piotr_chamera@poczta.onet.pl> - 2020-04-10 19:33 +0200
    Re: elementarne pytania z pythona fir <profesor.fir@gmail.com> - 2020-04-10 11:35 -0700
      Re: elementarne pytania z pythona fir <profesor.fir@gmail.com> - 2020-04-11 02:16 -0700
        Re: elementarne pytania z pythona Piotr Chamera <piotr_chamera@poczta.onet.pl> - 2020-04-11 11:33 +0200
          Re: elementarne pytania z pythona fir <profesor.fir@gmail.com> - 2020-04-11 02:55 -0700
            Re: elementarne pytania z pythona fir <profesor.fir@gmail.com> - 2020-04-11 03:06 -0700
              Re: elementarne pytania z pythona Piotr Chamera <piotr_chamera@poczta.onet.pl> - 2020-04-11 12:59 +0200
                Re: elementarne pytania z pythona fir <profesor.fir@gmail.com> - 2020-04-11 04:04 -0700
            Re: elementarne pytania z pythona Piotr Chamera <piotr_chamera@poczta.onet.pl> - 2020-04-11 12:09 +0200
              Re: elementarne pytania z pythona fir <profesor.fir@gmail.com> - 2020-04-11 03:12 -0700
  Re: elementarne pytania z pythona godek.maciek@gmail.com - 2020-04-10 11:47 -0700
    Re: elementarne pytania z pythona fir <profesor.fir@gmail.com> - 2020-04-10 12:07 -0700
      Re: elementarne pytania z pythona fir <profesor.fir@gmail.com> - 2020-04-10 13:32 -0700
        Re: elementarne pytania z pythona fir <profesor.fir@gmail.com> - 2020-04-11 02:26 -0700

csiph-web