在Python中,您可以使用正则表达式来提取字符串中的数字。以下是使用正则表达式提取数字的几种方法:
方法一:使用 `re.findall` 函数
```python
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']
方法二:使用列表解析
```python
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` 函数
```python
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` 函数提取正整数
```python
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]
以上方法都可以用来提取字符串中的数字。您可以根据需要选择最适合您需求的方法。