Créez une fonction pour corriger facilement les fluctuations de notation demi-largeur et pleine largeur.
Préparez les personnages avant et après la conversion.
abc_half = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
abc_full = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
digit_half = "0123456789"
digit_full = "0123456789"
katakana_half = "Je suis désolé, je suis désolé, je suis désolé, je suis désolé, je suis désolé, je suis désolé"
katakana_full = "Aiueokakikukekosashisusesotachitsutetonaninunenohahifuhehomamimu memoyayuyorarirurerowon"
punc_half = "!\#$%&\()*+,-./:;<=>?@[\\]^_`{|}~"
punc_full = "!#$%&\()*+,-./:;<=>?@[\\]^_`{|}~"
Puisque le son éclaté du Katakana demi-largeur exprime un caractère avec deux caractères, créez une table de conversion séparément des autres.
tmp01 = "Bâillonnement, serrer, serrer, serrer, serrer, serrer"
tmp02 = "Gagigugegozajizuzezodajizudedobababibbebopapipupepo"
transtable02 = {}
for i in range(len(tmp02)):
be = tmp01[i*2:i*2+2]
af = tmp02[i]
transtable02[be] = af
Dans la fonction clean_text
,transtable01 = str.maketrans (avant, après)
crée une table de traduction et l'applique avec text = text.translate (transtable01)
.
def clean_text(text):
text = str(text).replace("\u3000", " ") #Espace pleine largeur à demi-largeur
before = abc_full + digit_full + katakana_half + punc_full
after = abc_half + digit_half + katakana_full + punc_half
transtable01 = str.maketrans(before, after)
text = text.translate(transtable01)
text = text.translate(transtable02)
return text
text = "Mémo Nara Rirure, -. /:; qr gag zaji sezodaji"
clean_text(text)
>>>Mémo Yayuyora Rirure+,-./:qr Gegozajizuzezodaji
c'est tout!
Je pense qu'il y a d'autres fluctuations de notation en japonais, comme l'envoi de nombres kana et kanji, donc je pense que ce serait bien d'en ajouter plus.
[Full-width ⇔ half-width] Bibliothèque recommandée pour ajuster les fluctuations de notation japonaise avec Python [python] Créez une liste de différents types de caractères
Recommended Posts