在Python中,您可以使用正则表达式来提取字符串中的数字。以下是使用正则表达式提取数字的几种方法:
方法一:使用 `re.findall` 函数
import redef extract_numbers(string):numbers = re.findall(r'\d+', string)return numbersstring = '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 redef 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]
