Beim Versuch, ein wenig ausgerichtete Zeichenketten in Python anzuzeigen Wenn Sie volle und halbe Breite mischen ...
#Stichprobe
print("%-10s : %s" % ("Taco Reis", "Köstlich"))
print("%-10s : %s" % ("Curry", "Spicy!"))
print("%-10s : %s" % ("General Tacowasa", "Ich kann nicht essen···"))
#Ergebnis
Taco Reis:Köstlich
Curry : Spicy!
General Tacowasa:Ich kann nicht essen···
Manchmal möchte ich alle 10 Zeichen mit ":" trennen, aber sie sind nicht so ausgerichtet. Mit der Unicodedata-Bibliothek konnte ich diesen Bereich schnell lösen.
Unicodedata-Referenzlink http://docs.python.jp/3.5/library/unicodedata.html
Python-Version ist 3.5.1 Betriebssystem ist CentOS 7.1
Ich habe es im Juli 2016 versucht
Wenn Sie die Funktion unicodedata.east_asian_width verwenden, wird der Wert für die Breite von East English zurückgegeben, sodass Sie überprüfen können, ob das Zeichen halb oder breit ist. Es gibt 6 Arten von ostenglischer Breite, "F, H, W, Na, A, N". Die drei Zeichen F, W und A sind Zeichen voller Breite.
ostenglisch Breite Referenzlink https://ja.wikipedia.org/wiki/東アジアの文字幅
Wenn ich es benutze, sieht es so aus.
#Stichprobe
import unicodedata
unicodedata.east_asian_width('a')
unicodedata.east_asian_width('Ah')
#Ergebnis
'Na'
'W'
Wenn Sie die obige Funktion verwenden, um herauszufinden, "wie viele Zeichen mit halber Breite die angegebene Zeichenfolge enthält", Zeichenketten können entweder in voller Breite oder in halber Breite ausgerichtet werden.
Ich habe eine solche Funktion zur Rechtfertigung der Linken gemacht.
import unicodedata
def left(digit, msg):
for c in msg:
if unicodedata.east_asian_width(c) in ('F', 'W', 'A'):
digit -= 2
else:
digit -= 1
return msg + ' '*digit
Ich werde es versuchen.
#Stichprobe
print("%s : %s" % (left(10, "Taco Reis"), "Köstlich"))
print("%s : %s" % (left(10, "Curry"), "Spicy!"))
print("%s : %s" % (left(10, "General Tacowasa"), "Ich kann nicht essen···"))
#Ergebnis
Taco Reis:Köstlich
Curry : Spicy!
General Tacowasa:Ich kann nicht essen···
・ ・ ・ ・. Im Web ist es schwer zu verstehen, daher werde ich auch ein Bild veröffentlichen.
Jetzt ist es möglich, sowohl Zeichen voller Breite als auch Zeichen halber Breite anzuzeigen.
・ ・ ・ Richtig zu rechtfertigen "Rückgabe von Nachricht + '" * Ziffer "zu" Rückgabe' '* Ziffer + Nachricht " Es kann durch Ändern in behoben werden.
das ist alles
Recommended Posts