在Python中,您可以使用正则表达式来提取字符串中的数字。以下是使用正则表达式提取数字的几种方法:
方法一:使用 `re.findall` 函数
import re
def extract_numbers(string):
numbers = re.findall(r'\d+', string)
return numbers
string = 'Hello 123 World 456'
numbers = extract_numbers(string)
print(numbers) 输出: ['123', '456']
方法二:使用列表解析
s = 'There are 123 numbers in this string'
numbers = [int(num) for num in s if num.isdigit()]
for number in numbers:
print(number)
方法三:使用 `isdigit` 函数和 `filter` 函数
s = 'h3110 23 cat 444.4 rabbit 11 2 dog'
numbers = list(filter(lambda x: x.isdigit(), s.split()))
print(numbers) 输出: [23, 11, 2]
方法四:使用 `re.findall` 函数提取正整数
import re
def extract_positive_integers(string):
numbers = re.findall(r'\b\d+\b', string)
return [int(num) for num in numbers if int(num) > 0]
string = 'h3110 23 cat 444.4 rabbit 11 2 dog'
numbers = extract_positive_integers(string)
print(numbers) 输出: [23, 11, 2]
以上方法都可以用来提取字符串中的数字。您可以根据需要选择最适合您需求的方法。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/140047.html