Ich möchte Bruch durch Unicode-Zeichen durch Nachschlagen ersetzen, wenn es im Wörterbuch aber nicht den Weg finden, es zu tun.Mehrere eindeutige Ersetzungen in einer Python-Zeichenfolge
fixs = {
'1/2': '¹⁄₂',
'1/4': '¹⁄₄',
'3/8': '³⁄₈',
...
# '': '⁰¹²³⁴⁵⁶⁷⁸⁹⁄₀₁₂₃₄₅₆₇₈₉',
}
Meine aktuelle Lösung ist offensichtlich schlecht
def fix_fraction(string):
return string.replace('1/2', '¹⁄₂').replace('1/4', '¹⁄₄').replace('3/8', '³⁄₈')
Die Eingabe von fix_fraction
könnte Text hat mit unbekannter Position mischte, so kann ich nicht nur die Fraktion aus gespalten und ich kann regex
nicht erfolgreich schreiben .
Verwendungsbeispiel:
print(fix_fraction('item A d=1/2″'))
print(fix_fraction('item B d=3/8 m'))
item A d=¹⁄₂″
item B d=³⁄₈ m
Wörterbuch wird voraussichtlich nicht mehr als 100 Einträge haben, aber ultimative Lösung, die jede Fraktion unterstützt wird auch begrüßt.
Irgendeine Idee, wie man das richtig macht?
Es kann mit Unicode-Tief- und Hoch geschehen, so etwas wie: unichr (0x2070 + v) wo v ist eine Ziffer. – axaroth