你这个替换表和金山音标字体实际情况不符,我自己挨个将字体对照Unicode输入的如下,希望对大家替换音标有帮助:
def replace_phonetic_symbols(text):
return (text.replace('1', '…')
.replace('4', '։')
.replace('5', 'ˈ')
.replace('6', '!')
.replace('7', 'ˌ')
.replace('8', '?')
#.replace('9', 'ʻ')
.replace(':', 'ː')
.replace('<', 'ü')
.replace('=', 'ê')
.replace('?', '𝑈')
.replace('@', '𝑆')
.replace('A', 'æ')
.replace('B', 'ɑ')
.replace('C', 'ɔ')
.replace('D', 'ã')
.replace('E', 'ə')
.replace('F', 'ʃ')
.replace('G', 'ɣ')
.replace('H', 'ɥ')
.replace('I', 'ɪ')
.replace('J', 'ʊ')
.replace('K', 'ʏ')
.replace('L', 'ɚ')
.replace('M', 'ɲ')
.replace('N', 'ŋ')
.replace('O', 'ɶ')
.replace('P', 'ɵ')
.replace('Q', 'ʌ')
.replace('R', 'ɔ')
.replace('S', 'ɔ̃')
.replace('T', 'ð')
.replace('U', 'u')
.replace('V', 'ʒ')
.replace('W', 'θ')
.replace('X', 'ø')
.replace('Y', 'ɛ̃')
.replace('Z', 'ɛ')
.replace('[', 'ə')
.replace('\\', 'ɜ')
.replace(']', 'ç')
.replace('^', 'ɡ')
.replace('_', '̌')
.replace('`', '̀')
.replace('{', '─')
.replace('|', '╎')
.replace('}', '╲')
.replace('', 'ā')
.replace('', 'á')
.replace('', 'ǎ')
.replace('', 'à')
.replace('
', 'ē')
.replace('', 'é')
.replace('', 'ě')
.replace('', 'è')
.replace('', 'ī')
.replace('', 'í')
.replace('', 'ǐ')
.replace('', 'ì')
.replace('', 'ō')
.replace('', 'ó')
.replace('', 'ǒ')
.replace('', 'ò')
.replace('', 'ū')
.replace('', 'ú')
.replace('', 'ǔ')
.replace('', 'ù')
.replace('', 'ǖ')
.replace('', 'ǘ')
.replace('', 'ǚ')
.replace('', 'ǜ')
.replace('', 'm̄')
.replace('', 'ḿ')
.replace('', 'm̌')
.replace('', 'm̀')
.replace('', 'n̄')
.replace('', 'ń')
.replace('', 'ň')
.replace(' ', 'ǹ'))