Ne yazık ki yerine benim metinde \ u0327 (birleştirerek çengelli) arasında aslında (örneğin) \ u00B8 (çengelli) var gibi görünüyor.
eurgh, pis! İşlemi, bir uyumluluk ayrıştırması (NFKD) içerdiğinden, işlem tamamen kayıpsız olmayacak olsa da, yine de otomatik olarak yapabilirsiniz.
Normale U + NFKD için 00B8 ve U + 0327 takiben bir boşluk elde edersiniz. Daha sonra, herhangi bir uzay-takip-birleştiren-karakter karakterini arayan dizgeyi tarayabilir ve alanı kaldırabilirsiniz. Sonunda, birleştiren karakterleri önceki karaktere yerleştirmek için NFC'ye yeniden derleyin. Haklısın
s= unicodedata.normalize('NFKD', s)
s= ''.join(c for i, c in enumerate(s) if c!=' ' or unicodedata.combining(s[i+1])==0)
s= unicodedata.normalize('NFC', s)
Evet, bu çalışma - gerçekten unicode ayrışmış olduğumu varsayarak. Ne yazık ki sanırım benim metnimde \ u0327 (cedilla'yı birleştirmek) yerine aslında (örneğin) \ u00B8 (cedilla) var. Görünüşe bakılırsa, bu karakterleri birleştirme eşdeğerleriyle eşleştirmeli ya da sadece tamamen şeritlemeliyim. Teşekkürler. – msanders