[python] upper a lower
Pavel Kosina
geon na post.cz
Středa Leden 28 14:41:28 CET 2009
mtip napsal(a), dne 28.1.2009 13:52:
> if re.search(u'ž', u'Ž',re.IGNORECASE):
> print 'stejne'
> else:
> print 'ruzne'
>
> re.search s IGNORECASE - nefunguje nikdy - locale nelocale
>
u re.IGNORECASE je v manuálu napsáno:
[...] This is not affected by the current locale.
nejsem si příliš jist překladem, ale snad něco jako: nefunguje v locale.
I kdyby to tak nebylo, chybí ti tam další přepínače:
re.UNICODE|re.LOCALE|re.IGNORECASE ....
Proč to tedy neuděláš takto, že nevynecháš "sporné" re.IGNORECASE, a
nepoužiješ lower():
print bool(re.search(u'ž', u'Ž'.lower(),re.UNICODE|re.LOCALE))
Jen dodatek: pozor na to, že tisk někdy nefunguje proto, že nesedí
kodování výstupu Pythonu a Shellu (ve win je to cp852). Důležitější pro
tebe snad je, aby se to vnitřně chovalo správně, a že se to bude hůřeji
tisknout, to je možná již podružné......
--
geon
Pavel Kosina
Další informace o konferenci Python