如何将法语单词转换为整数?

How to convert French words to integers?

关于将英文单词转换为数字的其他问题已得到解答,特别是使用库 w2n 或其他自定义算法。

但是我不知道如何将法语(或一般来说,任何语言的)单词转换为整数,例如:

>>> word_to_number('quarante-quatre')
44

我的法语不是很流利,但肯定不只是试图翻译 https://github.com/akshaynagpal/w2n/blob/master/word2number/w2n.py 中的单词吧?

您可以使用 textblob。但它不是那么安全,因为如果你使 "too many requests".

它们可以被阻止

信息:https://textblob.readthedocs.io/en/dev/ 你可以这样做:

from textblob import TextBlob

def word_to_number(text):
    blob= TextBlob(text)
    print(blob.translate(from_lang="fr",to="en"))
word_to_number('quarante-quatre')

现在您可以创建一个数字列表,将字母转换为整数

只是用谷歌搜索了一下,发现了一个名为 text2num 的非常相似的项目:

provides functions and parser classes for:

  • parsing numbers expressed as words in French and convert them to integer values;

他们的演示:

from text_to_num import text2num
text2num('quatre-vingt-quinze')

回馈95,这似乎是对的

创建法语单词和数字等价物的数据库。


将其加载到内存中。


使用'find in set'命令查找与输入的单词相等的数字。


要从 http://www.french-linguistics.co.uk/tutorials/numbers/

创建的数据库
Numbers 0-19
0   zéro
1   un
2   deux
3   trois
4   quatre
5   cinq
6   six
7   sept
8   huit
9   neuf
10  dix

使用 python REG EX 代码作为 'search' 示例:


import re

txt = "The rain in Spain"
x = re.search("^The.*Spain$", txt)

使用 python 词典 'search' 例如:


thisdict =  {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
if "model" in thisdict:
print("Yes, 'model' is one of the keys in the thisdict dictionary") 

text2num 太棒了!

示例如下;

  1. 确保您已经安装了 text2num,因为现在有 text2num 2.4.0。
    pip install text2num
  1. 导入库。
    from text_to_num import text2num
    
    text2num('quatre-vingt-quinze', "fr")