def extract_numbers(text, short_scale=True, ordinals=False, lang=None): """ Takes in a string and extracts a list of numbers. Args: text (str): the string to extract a number from short_scale (bool): Use "short scale" or "long scale" for large numbers -- over a million. The default is short scale, which is now common in most English speaking countries. See https://en.wikipedia.org/wiki/Names_of_large_numbers ordinals (bool): consider ordinal numbers, e.g. third=3 instead of 1/3 lang (str): the BCP-47 code for the language to use, None uses default Returns: list: list of extracted numbers as floats, or empty list if none found """ lang_code = get_primary_lang_code(lang) if lang_code == "en": return extract_numbers_en(text, short_scale, ordinals) elif lang_code == "de": return extract_numbers_de(text, short_scale, ordinals) elif lang_code == "fr": return extract_numbers_fr(text, short_scale, ordinals) elif lang_code == "it": return extract_numbers_it(text, short_scale, ordinals) elif lang_code == "da": return extract_numbers_da(text, short_scale, ordinals) elif lang_code == "es": return extract_numbers_es(text, short_scale, ordinals) return []
def extract_numbers(text, short_scale=True, ordinals=False, lang=None): """ Takes in a string and extracts a list of numbers. Args: text (str): the string to extract a number from short_scale (bool): Use "short scale" or "long scale" for large numbers -- over a million. The default is short scale, which is now common in most English speaking countries. See https://en.wikipedia.org/wiki/Names_of_large_numbers ordinals (bool): consider ordinal numbers, e.g. third=3 instead of 1/3 lang (str): the BCP-47 code for the language to use, None uses default Returns: list: list of extracted numbers as floats, or empty list if none found """ lang_code = get_primary_lang_code(lang) if lang_code == "en": return extract_numbers_en(text, short_scale, ordinals) elif lang_code == "de": return extract_numbers_de(text, short_scale, ordinals) elif lang_code == "fr": return extract_numbers_fr(text, short_scale, ordinals) elif lang_code == "it": return extract_numbers_it(text, short_scale, ordinals) elif lang_code == "da": return extract_numbers_da(text, short_scale, ordinals) return []
def extract_numbers(text, short_scale=True, ordinals=False, lang="en-us"): """ Takes in a string and extracts a list of numbers. Args: text (str): the string to extract a number from short_scale (bool): Use "short scale" or "long scale" for large numbers -- over a million. The default is short scale, which is now common in most English speaking countries. See https://en.wikipedia.org/wiki/Names_of_large_numbers ordinals (bool): consider ordinal numbers, e.g. third=3 instead of 1/3 lang (str): the BCP-47 code for the language to use Returns: list: list of extracted numbers as floats """ if lang.startswith("en"): return extract_numbers_en(text, short_scale, ordinals) elif lang.startswith("de"): return extract_numbers_de(text, short_scale, ordinals) elif lang.startswith("fr"): return extract_numbers_fr(text, short_scale, ordinals) elif lang.startswith("it"): return extract_numbers_it(text, short_scale, ordinals) return []