开发者社区> 问答> 正文

将由2个不同数字组成的文本数字转换为数字

我一直在寻找解决问题的方法,但徒劳无功。

我有一个数字数据库,可以将其分为两种要转换的书面数字类型:我希望能够检测我正在处理哪种类型的句子,然后进行转换

  • 1。普通的one *,我只使用text2num()函数进行转换:

例:

number = "one hundred fourty five"
print(text2num(number, "en"))

我的输出是

>>>145
    • 2。第二种类型由两个不同的数字组成:*

我的输入将是这样的:

number = "thirty six seventy two"
number2 = "eighty two fifty"

我正在尝试获得以下信息:

>>>number="3672"
>>>number2="8250"

更清楚一点:如果我的句子如下:

"thirty two eighty"
"five hundred eighty"
"ten zero eight"

我的输出应该是这样的:

"3280"
"580"
"1008"

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 21:53:23 540 0
1 条回答
写回答
取消 提交回答
  • 好像它的子模块alpha2digit确实支持它,您只需要进一步splitjoin结果即可得到预期的输出:

    from text_to_num import alpha2digit
    
    ''.join(alpha2digit("thirty six seventy two", lang='en').split())
    # '3672'
    
    ''.join(alpha2digit("eighty two fifty", lang='en').split())
    # '8250'
    

    回答来源:stackoverflow

    2020-03-24 21:53:31
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载