Python如何取出字符串的数字

Python如何取出字符串的数字

在Python中,我们经常会遇到需要从字符串中提取数字的情况。这些数字可能是整数、浮点数或者其他形式的数字。本文将介绍几种常见的方法来取出字符串中的数字,并提供详细的示例代码。

方法一:使用正则表达式

正则表达式是一种强大的字符串匹配工具,可以用来从字符串中提取特定的内容。我们可以使用正则表达式来匹配数字,并提取出来。

import re

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用正则表达式匹配数字
numbers = re.findall(r'\d+', s)

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用re.findall()函数和\d+正则表达式来匹配字符串中的数字,并将匹配到的数字存储在列表中。

方法二:使用isdigit()方法

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

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 遍历字符串,提取数字
numbers = ''.join([c for c in s if c.isdigit()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们遍历字符串中的每个字符,判断是否是数字字符,然后将数字字符拼接起来,得到最终的数字字符串。

方法三:使用split()方法

如果字符串中的数字是以空格或其他分隔符分隔的,我们可以使用split()方法来分割字符串,并提取数字部分。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用split()方法分割字符串
numbers = ''.join([c for c in s if c.isdigit()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用split()方法将字符串分割成多个部分,然后提取数字部分并拼接起来。

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

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

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 遍历字符串,提取数字
numbers = ''.join([c for c in s if c.isdigit() or c.isnumeric()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们遍历字符串中的每个字符,判断是否是数字字符或数字字符,然后将数字字符拼接起来,得到最终的数字字符串。

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

除了使用正则表达式来匹配数字外,我们还可以使用re.sub()方法来替换非数字字符为空字符串,从而得到数字部分。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用re.sub()方法替换非数字字符
numbers = re.sub(r'\D', '', s)

print(numbers)

在上面的示例中,我们使用re.sub()方法将非数字字符替换为空字符串,从而得到最终的数字字符串。

方法六:使用str.isdigit()方法

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

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 遍历字符串,提取数字
numbers = ''.join([c for c in s if c.isdigit()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们遍历字符串中的每个字符,判断是否是数字字符,然后将数字字符拼接起来,得到最终的数字字符串。

方法七:使用str.isnumeric()方法

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

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 遍历字符串,提取数字
numbers = ''.join([c for c in s if c.isnumeric()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们遍历字符串中的每个字符,判断是否是数字字符,然后将数字字符拼接起来,得到最终的数字字符串。

方法八:使用str.replace()方法

如果字符串中的数字是以空格或其他分隔符分隔的,我们可以使用str.replace()方法将分隔符替换为空字符串,从而得到数字部分。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用str.replace()方法替换分隔符
numbers = s.replace(' ', '')

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用str.replace()方法将空格替换为空字符串,从而得到最终的数字字符串。

方法九:使用str.translate()方法

Python中的字符串对象还有一个str.translate()方法,可以用来进行字符替换操作。我们可以使用这个方法来提取字符串中的数字。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 定义一个字符映射表,将非数字字符替换为空字符串
table = str.maketrans('', '', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.')

# 使用str.translate()方法替换非数字字符
numbers = s.translate(table)

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们定义了一个字符映射表,将非数字字符替换为空字符串,然后使用str.translate()方法进行替换操作,得到最终的数字字符串。

方法十:使用str.strip()方法

如果字符串中的数字是被空格或其他空白字符包围的,我们可以使用str.strip()方法去除空白字符,然后提取数字部分。

# 定义一个包含数字的字符串
s = " deepinout.com 12345 deepinout.com 67890 "

# 使用str.strip()方法去除空白字符
s = s.strip()

# 遍历字符串,提取数字
numbers = ''.join([c for c in s if c.isdigit()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用str.strip()方法去除字符串两端的空白字符,然后遍历字符串中的每个字符,判断是否是数字字符,最终得到数字字符串。

方法十一:使用str.split()方法

如果字符串中的数字是以空格或其他分隔符分隔的,我们可以使用str.split()方法将字符串分割成多个部分,然后提取数字部分。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用str.split()方法分割字符串
numbers = ''.join([c for c in ''.join(s.split()) if c.isdigit()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用str.split()方法将字符串分割成多个部分,然后将分割后的字符串拼接起来,最后提取数字部分。

方法十二:使用str.join()方法

如果字符串中的数字是以空格或其他分隔符分隔的,我们可以使用str.join()方法将分隔符替换为空字符串,从而得到数字部分。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用str.join()方法替换分隔符
numbers = ''.join(s.split())

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用str.join()方法将分隔符替换为空字符串,从而得到最终的数字字符串。

方法十三:使用列表推导式和isdigit()方法

我们还可以使用列表推导式和isdigit()方法来提取字符串中的数字。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用列表推导式和isdigit()方法提取数字
numbers = ''.join([c for c in s if c.isdigit()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用列表推导式遍历字符串中的每个字符,判断是否是数字字符,然后将数字字符拼接起来,得到最终的数字字符串。

方法十四:使用列表推导式和isnumeric()方法

除了isdigit()方法外,我们还可以使用列表推导式和isnumeric()方法来提取字符串中的数字。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用列表推导式和isnumeric()方法提取数字
numbers = ''.join([c for c in s if c.isnumeric()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用列表推导式遍历字符串中的每个字符,判断是否是数字字符,然后将数字字符拼接起来,得到最终的数字字符串。

方法十五:使用列表推导式和str.isdigit()方法

除了isdigit()方法外,我们还可以使用列表推导式和str.isdigit()方法来提取字符串中的数字。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用列表推导式和str.isdigit()方法提取数字
numbers = ''.join([c for c in s if c.isdigit()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用列表推导式遍历字符串中的每个字符,判断是否是数字字符,然后将数字字符拼接起来,得到最终的数字字符串。

方法十六:使用列表推导式和str.isnumeric()方法

除了isnumeric()方法外,我们还可以使用列表推导式和str.isnumeric()方法来提取字符串中的数字。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用列表推导式和str.isnumeric()方法提取数字
numbers = ''.join([c for c in s if c.isnumeric()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用列表推导式遍历字符串中的每个字符,判断是否是数字字符,然后将数字字符拼接起来,得到最终的数字字符串。

方法十七:使用列表推导式和str.replace()方法

如果字符串中的数字是以空格或其他分隔符分隔的,我们可以使用列表推导式和str.replace()方法将分隔符替换为空字符串,从而得到数字部分。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用列表推导式和str.replace()方法替换分隔符
numbers = ''.join([c for c in s.replace(' ', '') if c.isdigit()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用列表推导式遍历替换空格后的字符串中的每个字符,判断是否是数字字符,然后将数字字符拼接起来,得到最终的数字字符串。

方法十八:使用列表推导式和str.translate()方法

除了使用str.translate()方法外,我们还可以使用列表推导式和str.translate()方法来提取字符串中的数字。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 定义一个字符映射表,将非数字字符替换为空字符串
table = str.maketrans('', '', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.')

# 使用列表推导式和str.translate()方法替换非数字字符
numbers = ''.join([c for c in s.translate(table)])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们定义了一个字符映射表,将非数字字符替换为空字符串,然后使用列表推导式遍历替换后的字符串中的每个字符,得到最终的数字字符串。

方法十九:使用列表推导式和str.strip()方法

如果字符串中的数字是被空格或其他空白字符包围的,我们可以使用列表推导式和str.strip()方法去除空白字符,然后提取数字部分。

# 定义一个包含数字的字符串
s = " deepinout.com 12345 deepinout.com 67890 "

# 使用str.strip()方法去除空白字符
s = s.strip()

# 遍历字符串,提取数字
numbers = ''.join([c for c in s if c.isdigit()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用str.strip()方法去除字符串两端的空白字符,然后遍历字符串中的每个字符,判断是否是数字字符,最终得到数字字符串。

方法十一:使用str.split()方法

如果字符串中的数字是以空格或其他分隔符分隔的,我们可以使用str.split()方法将字符串分割成多个部分,然后提取数字部分。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用str.split()方法分割字符串
numbers = ''.join([c for c in ''.join(s.split()) if c.isdigit()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用str.split()方法将字符串分割成多个部分,然后将分割后的字符串拼接起来,最后提取数字部分。

方法十二:使用str.join()方法

如果字符串中的数字是以空格或其他分隔符分隔的,我们可以使用str.join()方法将分隔符替换为空字符串,从而得到数字部分。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用str.join()方法替换分隔符
numbers = ''.join(s.split())

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用str.join()方法将分隔符替换为空字符串,从而得到最终的数字字符串。

方法十三:使用列表推导式和isdigit()方法

我们还可以使用列表推导式和isdigit()方法来提取字符串中的数字。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用列表推导式和isdigit()方法提取数字
numbers = ''.join([c for c in s if c.isdigit()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用列表推导式遍历字符串中的每个字符,判断是否是数字字符,然后将数字字符拼接起来,得到最终的数字字符串。

方法十四:使用列表推导式和isnumeric()方法

除了isdigit()方法外,我们还可以使用列表推导式和isnumeric()方法来提取字符串中的数字。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用列表推导式和isnumeric()方法提取数字
numbers = ''.join([c for c in s if c.isnumeric()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用列表推导式遍历字符串中的每个字符,判断是否是数字字符,然后将数字字符拼接起来,得到最终的数字字符串。

方法十五:使用列表推导式和str.isdigit()方法

除了isdigit()方法外,我们还可以使用列表推导式和str.isdigit()方法来提取字符串中的数字。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用列表推导式和str.isdigit()方法提取数字
numbers = ''.join([c for c in s if c.isdigit()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用列表推导式遍历字符串中的每个字符,判断是否是数字字符,然后将数字字符拼接起来,得到最终的数字字符串。

方法十六:使用列表推导式和str.isnumeric()方法

除了isnumeric()方法外,我们还可以使用列表推导式和str.isnumeric()方法来提取字符串中的数字。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用列表推导式和str.isnumeric()方法提取数字
numbers = ''.join([c for c in s if c.isnumeric()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用列表推导式遍历字符串中的每个字符,判断是否是数字字符,然后将数字字符拼接起来,得到最终的数字字符串。

方法十七:使用列表推导式和str.replace()方法

如果字符串中的数字是以空格或其他分隔符分隔的,我们可以使用列表推导式和str.replace()方法将分隔符替换为空字符串,从而得到数字部分。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用列表推导式和str.replace()方法替换分隔符
numbers = ''.join([c for c in s.replace(' ', '') if c.isdigit()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用列表推导式遍历替换空格后的字符串中的每个字符,判断是否是数字字符,然后将数字字符拼接起来,得到最终的数字字符串。

方法十八:使用列表推导式和str.translate()方法

除了使用str.translate()方法外,我们还可以使用列表推导式和str.translate()方法来提取字符串中的数字。

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 定义一个字符映射表,将非数字字符替换为空字符串
table = str.maketrans('', '', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.')

# 使用列表推导式和str.translate()方法替换非数字字符
numbers = ''.join([c for c in s.translate(table)])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们定义了一个字符映射表,将非数字字符替换为空字符串,然后使用列表推导式遍历替换后的字符串中的每个字符,得到最终的数字字符串。

方法十九:使用列表推导式和str.strip()方法

如果字符串中的数字是被空格或其他空白字符包围的,我们可以使用列表推导式和str.strip()方法去除空白字符,然后提取数字部分。

# 定义一个包含数字的字符串
s = " deepinout.com 12345 deepinout.com 67890 "

# 使用str.strip()方法去除空白字符
s = s.strip()

# 遍历字符串,提取数字
numbers = ''.join([c for c in s if c.isdigit()])

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用str.strip()方法去除字符串两端的空白字符,然后遍历字符串中的每个字符,提取数字部分。

方法二十:使用正则表达式

最后一种方法是使用正则表达式来提取字符串中的数字部分。

import re

# 定义一个包含数字的字符串
s = "deepinout.com 12345 deepinout.com 67890"

# 使用正则表达式提取数字
numbers = ''.join(re.findall(r'\d+', s))

print(numbers)

Output:

Python如何取出字符串的数字

在上面的示例中,我们使用re.findall()方法和正则表达式\d+来提取字符串中的数字部分。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程