📜  python 仅字符串中的数字 - Python (1)

📅  最后修改于: 2023-12-03 15:04:14.040000             🧑  作者: Mango

Python仅字符串中的数字

在Python中,我们可以轻松地从字符串中提取数字。这在许多数据处理应用程序中非常有用,其中需要对包含数字的字符串进行解析和操作。下面是一些方法。

isdigit ()

isdigit() 是Python字符串类中的内置方法,用于检查字符串中是否只包含数字。

string = "12345"
if string.isdigit():
    print("All characters are digits!")

输出:

All characters are digits!

在上面的代码段中,如果字符串中的所有字符都是数字,则 isdigit() 方法将输出“ All characters are digits!”。

使用正则表达式

如果字符串既包含数字又包含其他字符,则可以使用正则表达式提取其中的数字。

import re

string = "hello 123 Python 456"
numbers = re.findall('\d+', string)
print(numbers)

输出:

['123', '456']

在上面的代码段中,我们使用 re.findall() 方法检索该字符串中的数字。参数 '\d+' 表示要查找的字符串中的非零数字序列。由于该方法返回一个列表,因此我们可以轻松地使用它。

使用列表推导式

使用列表推导式也是从字符串中提取数字的另一种方式。

string = "hello 123 Python 456"
numbers = [int(s) for s in string.split() if s.isdigit()]
print(numbers)

输出:

[123, 456]

在上面的代码段中,我们首先使用 split() 方法将字符串分割成单个单词。然后,我们使用列表推导式,过滤非数字字符并将其转换为整数。

总结

在Python中仅从字符串中提取数字有多种方法,包括使用 isdigit() 方法、正则表达式和列表推导式。使用这些方法可以轻松地转换字符串中的数字,并在数据处理应用程序中使用。