📅  最后修改于: 2023-12-03 15:04:14.040000             🧑  作者: Mango
在Python中,我们可以轻松地从字符串中提取数字。这在许多数据处理应用程序中非常有用,其中需要对包含数字的字符串进行解析和操作。下面是一些方法。
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()
方法、正则表达式和列表推导式。使用这些方法可以轻松地转换字符串中的数字,并在数据处理应用程序中使用。