python数字转拼音输出_python 小程序:转换阿拉伯数字到拼音

python上提供转换汉字到拼音的包有很多,但是好像都没有针对阿拉伯数字转化到拼音的方法,

我这里写了一个,供有需要的朋友参考。

函数 digi_to_py

输入字符串: ‘上海1943’、’1024’、’1949大江大海’ …

得到字符串: ‘上海 yi jiu si san’、’yi ling er si’、’yi jiu si jiu 大江大海’ ….

import re

def digi_to_py(word):

digidict = {

'1': u'yi', '2': u'er', '3': u'san', '4': u'si', '5': u'wu',

'6': u'liu', '7': u'qi', '8': u'ba', '9': u'jiu', '0': u'ling'

}

patten = '([0-9]{1})'

for i in word:

if re.search(patten, i):

py = digidict[i]

word = word.replace(i, (u' ' + py + u' '))

return word

之后再使用其他汉字转拼音函数,即可得到不包含阿拉伯数字的完全的拼音字符串。

这样就避免了在按字母顺序排列的场合中,阿拉伯数字开头的item优先的情况。

具体实例:http://liyuwiki.com/577297.html

如不经过这一步转化 “1024”这样的词条就排到所有条目的前面去。

补充:

这个函数可以重写,直接用key匹配目标,,而不必使用正则表达式。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值