处理简繁混杂的文本。
原理
zhconv 在进行繁简转换时,会顺带着把符号都转换为简体形式。
例如
「
会被转换为
”
使用 unicodedata 来识别每个字符是属于字集还是符号集,即可获得手动转换表
将手动转换表输入为 zhconv.convert 的参数即可
import zhconv
import unicodedata
def get_dont_conv_symbol_table(s):
# 不要转化除了繁体字以外的一切符号
dont_conv_table = {}
for c in set(s):
if not unicodedata.category(c).startswith('Lo'):
dont_conv_table[c] = c
return dont_conv_table
def cht_to_chs(s):
table = get_dont_conv_symbol_table(s)
s = zhconv.convert(s, 'zh-cn', table)
return s
# 测试
## 保留符号转换
print(cht_to_chs('「叢雲」'))
## 默认全部转换
print(zhconv.convert('「叢雲」', 'zh-cn'))