Там нет ярлыка для этого, как питон не понимает по-английски или на человеческом языке, вам необходимо иметь список слов, которые считаются числовыми словами
math_str = "one times one plus sin(one hundred fifty three) minus three billion"
allowed = ['one', 'three', 'fifty', 'hundred', 'thousand', 'million', 'billion']
def getNumberWords(math_str):
math_str = math_str.replace('(', ' ')
math_str = math_str.replace(')', ' ')
math_str = math_str.split()
return [word for word in math_str if word in allowed]
print(getNumberWords(math_str))
в этом примере я просто положить в количестве слова, необходимые для получения вашего результата, но вы будете заполнять много слов (числовых), если вы хотите, чтобы ваш результат был точным
Это непростая задача. И без вашего кода, чтобы улучшить никого здесь, можно многое сделать. –
Ну, «три миллиарда» можно было бы сопоставить как «три» и «миллиард». – Goodies
Если вы знаете свои данные, вы можете взглянуть на [word2number] (https://pypi.python.org/pypi/word2number) – Jan