Zadejte hledaný výraz...

Najit a nahradit python (dělení)

Ston3
verified
rating uzivatele
4. 11. 2021 22:05:25
Ahoj, mám tady takovém Python script, který jsem zkopíroval z netu a funguje mi dobře.
Dělá přesně to co jsem po něm chtěl, najde a nahradí například tohle:(re.compile(r'dog'), 'cat'), ale já bych teď potřeboval aby mi například z "1000" udělal dělení tisícovkou a nahradil to za "1.000"
Šlo by to nějak zakomponovat do tohoto scriptu? Vůbec si s tím nevím rady.
Zkoušel jsem tohle:
(re.compile(r'(dddd)'), '\1'),
to prošlo, ale bezezměny, pochopitelně. Pak jsem zkoušel různě:
(re.compile(r'(dddd)'), '\1 // 1000'),
a různé další variace, ale nic mi neprošlo :(
Mohl bych požádat o pomoc zkušenější?
Moc Děkuji Ston3
4. 11. 2021 22:05:25
https://webtrh.cz/diskuse/najit-a-nahradit-python-deleni/#reply1493259
TomasX
verified
rating uzivatele
(4 hodnocení)
5. 11. 2021 08:51:19
nevím, co děláš, ale děláš to špatně. Útržek vypadá jako xml, měl bys ho i tak zpracovávat, způsobů zápisu hodnoty může být více, např. s CDATA, stejně tak tvůj nahrazovaný text může být v různých místech a ne všechna chceš nahradit, může to vést k nevalidním výstupům, chybám a nebude se to dát jednoduše kontrolovat.
V regulárních výrazech nelze používat aritmetiku, takže tam ti jednoduše nepůjde udělat dělení. Můžeš ale použít více skupin a poslední tři číslice zachytit samostatně.
Při vstupech:
- 100 dostaneš 100
- 1000 dostaneš 1.000
- 10000 dostaneš 10.000
5. 11. 2021 08:51:19
https://webtrh.cz/diskuse/najit-a-nahradit-python-deleni/#reply1493258
Ston3
verified
rating uzivatele
5. 11. 2021 10:02:35
WOW, no máš pravdu, moc nevím co dělám, jsem bohužel takovej programátor-lepič kódu.
Ano je to XML, ale když jsem se díval na xml.etree.ElementTree a další, tak jsem z toho byl ještě víc mimo a tohle najít a nahradit mi přišlo jako cesta nejrychlejšího pochopení.
Přišel jsem na to jak doplnit ty nuly u hodnot menších jak tisíc:
Ale netušil jsem že můžu použít více skupin a jak. 
Po otestování mi to i funguje tak jak jsem si představoval. Moc děkuji za nakopnutí :-)
5. 11. 2021 10:02:35
https://webtrh.cz/diskuse/najit-a-nahradit-python-deleni/#reply1493257
crs
verified
rating uzivatele
(1 hodnocení)
30. 7. 2023 17:35:20
V Pythonu jsem začátečník, ale pokud chceš jenom zformátovat čísla a oddělit tisíce, můžeš použít metodu format pro stringy:
https://www.w3schools.com/python/ref_string_format.asp
Tečku pro oddělovače tisíců jsem nenašel, našel jsem jen čárku {:,} a podtržítko {:_}
Tady je podrobnější popis syntaxe pro formátování:
https://docs.python.org/3/library/string.html#format-specification-mini-language
Strýček Google:
https://stackoverflow.com/questions/1823058/how-to-print-a-number-using-commas-as-thousands-separators
30. 7. 2023 17:35:20
https://webtrh.cz/diskuse/najit-a-nahradit-python-deleni/#reply1519197
Pro odpověď se přihlašte.
Přihlásit