Python提取输入字符串中的整数

Python提取输入字符串中的整数

Python提取输入字符串中的整数

在日常编程中,经常会遇到需要从用户的输入中提取整数的情况。本文将详细讨论如何使用Python编程语言来提取输入字符串中的整数。

1. 使用正则表达式提取整数

正则表达式是一种强大的字符串匹配工具,可以用来提取字符串中符合特定规则的部分。在Python中,可以使用re模块来操作正则表达式。

以下是一个简单的示例代码,用正则表达式提取输入字符串中的整数:

import re

def extract_integers(input_str):
    pattern = r'\b\d+\b'  # 匹配一个或多个数字
    integers_list = re.findall(pattern, input_str)
    integers = [int(i) for i in integers_list]
    return integers

input_str = 'Hello 123 World 456'
integers = extract_integers(input_str)
print(integers)

运行以上代码,输出为:

[123, 456]

在这段代码中,我们定义了一个函数extract_integers,接收一个字符串作为参数。使用正则表达式r’\b\d+\b’匹配字符串中的整数部分,并将提取到的整数转换为整数格式后返回一个整数列表。

2. 使用isdigit方法提取整数

除了使用正则表达式,我们还可以通过遍历输入字符串的每个字符,使用isdigit()方法判断是否为数字来提取整数。

以下是一个示例代码:

def extract_integers_v2(input_str):
    integers = []
    curr_integer = ''

    for char in input_str:
        if char.isdigit():
            curr_integer += char
        elif curr_integer:
            integers.append(int(curr_integer))
            curr_integer = ''

    if curr_integer:
        integers.append(int(curr_integer))

    return integers

input_str = 'Hello 123 World 456'
integers = extract_integers_v2(input_str)
print(integers)

运行以上代码,输出为:

[123, 456]

在这段代码中,我们定义了一个函数extract_integers_v2,遍历输入字符串的每个字符,如果是数字则添加到curr_integer中,直到遇到非数字字符时将curr_integer转换为整数并添加到整数列表中。

3. 使用Split函数提取整数

另一种提取整数的方法是使用字符串的split方法,根据非数字字符将输入字符串分割为多个子字符串,然后遍历每个子字符串判断是否为整数。

以下是一个示例代码:

def extract_integers_v3(input_str):
    integers = []
    parts = input_str.split()

    for part in parts:
        if part.isdigit():
            integers.append(int(part))

    return integers

input_str = 'Hello 123 World 456'
integers = extract_integers_v3(input_str)
print(integers)

运行以上代码,输出为:

[123, 456]

在这段代码中,我们定义了一个函数extract_integers_v3,使用split方法根据空格分割输入字符串为多个部分,然后遍历每个部分判断是否为整数并将整数部分添加到整数列表中。

4. 性能对比

在以上三种方法中,使用正则表达式的性能最好,其次是isdigit方法,split方法相对较慢。因此在大规模文本中提取整数时,推荐使用正则表达式方法。

结语

本文详细介绍了如何使用Python提取输入字符串中的整数。通过正则表达式、isdigit方法和split方法三种方式,可以轻松地实现这一功能。在实际开发中,需要根据具体情况选择最适合的方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程