📅  最后修改于: 2023-12-03 15:37:55.472000             🧑  作者: Mango
Python中有多种方法可以从字符串中获取数字。这些方法可以用来解决各种处理字符串数据的问题,例如提取数字、将数字格式化为字符串等。下面我们将介绍其中几种常用的方法。
正则表达式是一种强大而灵活的工具,用它可以在字符串中搜索和匹配某种模式。以下是示例代码:
import re
s = 'My phone number is 123-456-7890'
m = re.search('\d+', s)
if m:
print(m.group())
代码输出结果为:123
。
正则表达式\d+
表示匹配至少一个数字。函数re.search()
在字符串中搜索匹配项,并返回Match
对象。方法group()
返回匹配到的字符串。
如果字符串中仅有一个数字,我们可以使用字符串方法来提取它。以下是示例代码:
s = 'I have 1 apple'
num = ''
for char in s:
if char.isdigit():
num += char
if num:
print(int(num))
代码输出结果为:1
。
在上面的代码中,我们首先将字符串s
设置为'I have 1 apple'
,然后遍历字符串s
的每个字符,并检查字符是否为数字。如果是,则将它添加到字符串num
中。最后,我们将num
从字符串转换为整数并将其打印。
如果字符串包含多个数字,我们可以使用split()
将字符串分割成单词列表,然后用之前的方法提取数字。以下是示例代码:
s = 'I have 3 apples and 5 bananas'
words = s.split()
for word in words:
if word.isdigit():
print(int(word))
代码输出结果为:
3
5
在上面的代码中,我们首先将字符串s
设置为'I have 3 apples and 5 bananas'
,然后将其使用split()
方法分割成单词列表。接着,我们遍历每个单词并检查是否为数字,最后将其打印。
本文介绍了从Python中的字符串中获取数字的三种方法:使用正则表达式、使用字符串方法和使用split()方法。不同方法的选择取决于实际应用的需求。我们应该根据具体情况选择最合适的方法来处理字符串数据。