Python:使所有非组合的unicode字符组合



我有一个由非组合字符表示的重音和变音符字符串:

vyˇcíslitelnost (nerozhodnutelnost, v ˇety o neúplnosti),um ˇelá inteligence (automatické odvozování, rezoluce), univerzální nástroje: SAT a SMT ˇrešiˇce

,我想把它们变成组合字符。例如,上面的字符串看起来像:

vyčíslitelnost (nerozhodnutelnost, věty o neúplnosti),umělá inteligence (automatické odvozování, rezoluce), univerzální nástroje: SAT a SMT řešiče

我怎样才能做到这一点?我已经尝试过unicodedata.normalize,但它对非组合字符没有影响。

谢谢你的帮助

我的老派(反python)方法:

import unicodedata
lettersWithCaron = 'ČčĎďĚ켾ŇňŘřŠšŤťŽžDžǍǎǏǐǑǒǓǔǦǧǨǩǰȞȟ' # from Unicode database
caron            = 'u02C7'
astring = 'vyˇcíslitelnost (nerozhodnutelnost, v ˇety o neúplnosti),um ˇelá inteligence (automatické odvozování, rezoluce), univerzální nástroje: SAT a SMT ˇrešiˇce'
for lett in lettersWithCaron:
astring = astring.replace(
(caron + unicodedata.normalize( 'NFD',lett)).replace('u030C',''), lett)

print( astring)

显示在字符串中的一些碳(v ˇety,um ˇelá)之前有一个额外的空间(不像在ˇrešiˇce)…

.SO69647976.py

vyčíslitelnost (nerozhodnutelnost, vty o neúplnosti),um智能(automatickodvozování, rezolce), univerzální nástroje:SAT a SMT řešiče

相关内容

  • 没有找到相关文章

最新更新