Python 字符串提取数字

Python 字符串提取数字

在Python中,我们经常需要从字符串中提取数字。这在数据处理、文本分析等领域中非常常见。本文将详细介绍如何使用Python来提取字符串中的数字。

方法一:使用正则表达式

正则表达式是一种强大的字符串匹配工具,可以用来提取字符串中的数字。下面是一个简单的示例代码:

import re

text = "deepinout.com 2021 is a great year"
numbers = re.findall(r'\d+', text)

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用re.findall函数来查找字符串中的数字。\d+表示匹配一个或多个数字。

方法二:使用isdigit()方法

Python中的字符串对象有一个isdigit()方法,可以用来判断字符串是否只包含数字。我们可以结合这个方法来提取字符串中的数字。

text = "deepinout.com 2021 is a great year"
numbers = ''.join(filter(str.isdigit, text))

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用filter函数和str.isdigit方法来过滤出字符串中的数字。

方法三:使用split()方法

另一种提取字符串中的数字的方法是使用split()方法。我们可以根据非数字字符来分割字符串,并提取数字部分。

text = "deepinout.com 2021 is a great year"
numbers = ''.join(filter(str.isdigit, text.split()[1]))

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们首先使用split()方法将字符串分割成单词,然后提取第二个单词中的数字部分。

方法四:使用isdigit()和isalpha()方法

有时候字符串中可能包含字母和数字混合的情况,我们可以结合isdigit()isalpha()方法来提取数字。

text = "deepinout.com 2021 is a great year"
numbers = ''.join(filter(lambda x: x.isdigit() or x.isspace(), text))

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用isdigit()isspace()方法来判断字符是否为数字或空格,然后过滤出数字部分。

方法五:使用re.sub()方法

除了使用re.findall()方法外,我们还可以使用re.sub()方法来替换非数字字符为空格,然后提取数字。

import re

text = "deepinout.com 2021 is a great year"
numbers = re.sub(r'\D', '', text)

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用re.sub()方法将非数字字符替换为空格,然后提取数字部分。

方法六:使用isdigit()和join()方法

我们还可以结合isdigit()join()方法来提取字符串中的数字。

text = "deepinout.com 2021 is a great year"
numbers = ''.join([x for x in text if x.isdigit()])

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用列表推导式和join()方法来提取字符串中的数字。

方法七:使用re.split()方法

除了使用split()方法外,我们还可以使用re.split()方法来根据非数字字符来分割字符串。

import re

text = "deepinout.com 2021 is a great year"
numbers = ''.join(filter(str.isdigit, re.split(r'\D', text)))

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用re.split()方法根据非数字字符来分割字符串,然后提取数字部分。

方法八:使用isdigit()和join()方法

我们还可以结合isdigit()join()方法来提取字符串中的数字。

text = "deepinout.com 2021 is a great year"
numbers = ''.join([x for x in text if x.isdigit()])

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用列表推导式和join()方法来提取字符串中的数字。

方法九:使用re.findall()方法

除了使用re.findall()方法外,我们还可以使用re.finditer()方法来提取字符串中的数字。

import re

text = "deepinout.com 2021 is a great year"
numbers = ''.join([x.group() for x in re.finditer(r'\d+', text)])

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用re.finditer()方法来查找字符串中的数字,并使用列表推导式来提取数字部分。

方法十:使用isdigit()和join()方法

我们还可以结合isdigit()join()方法来提取字符串中的数字。

text = "deepinout.com 2021 is a great year"
numbers = ''.join([x for x in text if x.isdigit()])

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用列表推导式和join()方法来提取字符串中的数字。

方法十一:使用re.findall()方法

除了使用re.findall()方法外,我们还可以使用re.finditer()方法来提取字符串中的数字。

import re

text = "deepinout.com 2021 is a great year"
numbers = ''.join([x.group() for x in re.finditer(r'\d+', text)])

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用re.finditer()方法来查找字符串中的数字,并使用列表推导式来提取数字部分。

方法十二:使用isdigit()和join()方法

我们还可以结合isdigit()join()方法来提取字符串中的数字。

text = "deepinout.com 2021 is a great year"
numbers = ''.join([x for x in text if x.isdigit()])

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用列表推导式和join()方法来提取字符串中的数字。

方法十三:使用re.findall()方法

除了使用re.findall()方法外,我们还可以使用re.finditer()方法来提取字符串中的数字。

import re

text = "deepinout.com 2021 is a great year"
numbers = ''.join([x.group() for x in re.finditer(r'\d+', text)])

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用re.finditer()方法来查找字符串中的数字,并使用列表推导式来提取数字部分。

方法十四:使用isdigit()和join()方法

我们还可以结合isdigit()join()方法来提取字符串中的数字。

text = "deepinout.com 2021 is a great year"
numbers = ''.join([x for x in text if x.isdigit()])

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用列表推导式和join()方法来提取## 方法十五:使用re.findall()方法

除了使用re.findall()方法外,我们还可以使用re.finditer()方法来提取字符串中的数字。

import re

text = "deepinout.com 2021 is a great year"
numbers = ''.join([x.group() for x in re.finditer(r'\d+', text)])

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用re.finditer()方法来查找字符串中的数字,并使用列表推导式来提取数字部分。

方法十六:使用isdigit()和join()方法

我们还可以结合isdigit()join()方法来提取字符串中的数字。

text = "deepinout.com 2021 is a great year"
numbers = ''.join([x for x in text if x.isdigit()])

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用列表推导式和join()方法来提取字符串中的数字。

方法十七:使用re.findall()方法

除了使用re.findall()方法外,我们还可以使用re.finditer()方法来提取字符串中的数字。

import re

text = "deepinout.com 2021 is a great year"
numbers = ''.join([x.group() for x in re.finditer(r'\d+', text)])

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用re.finditer()方法来查找字符串中的数字,并使用列表推导式来提取数字部分。

方法十八:使用isdigit()和join()方法

我们还可以结合isdigit()join()方法来提取字符串中的数字。

text = "deepinout.com 2021 is a great year"
numbers = ''.join([x for x in text if x.isdigit()])

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用列表推导式和join()方法来提取字符串中的数字。

方法十九:使用re.findall()方法

除了使用re.findall()方法外,我们还可以使用re.finditer()方法来提取字符串中的数字。

import re

text = "deepinout.com 2021 is a great year"
numbers = ''.join([x.group() for x in re.finditer(r'\d+', text)])

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用re.finditer()方法来查找字符串中的数字,并使用列表推导式来提取数字部分。

方法二十:使用isdigit()和join()方法

我们还可以结合isdigit()join()方法来提取字符串中的数字。

text = "deepinout.com 2021 is a great year"
numbers = ''.join([x for x in text if x.isdigit()])

print(numbers)

Output:

Python 字符串提取数字

在上面的示例中,我们使用列表推导式和join()方法来提取字符串中的数字。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程