首页 > 解决方案 > 将由2个不同数字组成的文本数字转换为数字

问题描述

我一直试图找到解决问题的方法,但徒劳无功。

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

1.普通的,我只是使用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"

标签: pythonpython-3.xlistnumbers

解决方案


似乎它的子模块alpha2digit确实支持它,您只需要进一步获取split结果join即可获得预期的输出:

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'

推荐阅读