コード例 #1
0
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 []
コード例 #2
0
ファイル: parse.py プロジェクト: MycroftAI/mycroft-core
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 []
コード例 #3
0
ファイル: parse.py プロジェクト: Dark5ide/mycroft-core
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 []
コード例 #4
0
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 []