Dobrý deň,
mám úlohu v programovacom súbore python, potrebujem vypísať vety zo súboru kde to prečíta celý súbor a potom vybere a vypíše vety, ktoré začínajú znakom # a končia znakom $
Ďakujem za pomoc
A s čím ti máme pomôcť?
O čo si sa pokúsil? Ukáž časť kódu, ktorý si napísal a nefunguje a nevieš si rady ako ďalej.
Ako si spomenul, je to úloha do školy, tak je potrebné aby si sa trochu posnažil a vyvinul nejaké úsilie.
#6 gna
#1 text #1 text $2 text
#1 text $2 text #1 text
text #1 text $2 text
#1 text $2 text
#1 text $2 text #1 text $2 text #1 text $2 text
potrebujem aby vypísalo iba text, ktorý začína znakom #1 až po znak $2, to čo si napísal tak mi vypísalo text ,ktorý som zvýraznil ale potrebujem aby tam vypísalo aj ten čo som podčiarkol.
Aha. Tak to asi bude nejjednodušší to vzít od #1 do $2 a až pak rozdělit, pokud v tom je další #1.
>>> data = """#1aa#1bb$2cc
... #1dd$2ee#1ff
... gg#1hh$2ii
... #1jj$2kk
... #1ll$2mm#1nn$2oo#1pp$2qq"""
>>> matches = re.findall(r'#1(.*?)\$2', data, re.DOTALL)
>>> print(matches)
['aa#1bb', 'dd', 'ff\ngg#1hh', 'jj', 'll', 'nn', 'pp']
>>> matches = [match.split('#1') for match in matches]
>>> print(matches)
[['aa', 'bb'], ['dd'], ['ff\ngg', 'hh'], ['jj'], ['ll'], ['nn'], ['pp']]
>>> matches = list(itertools.chain.from_iterable(matches))
>>> print(matches)
['aa', 'bb', 'dd', 'ff\ngg', 'hh', 'jj', 'll', 'nn', 'pp']
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku