如何在字母与数字中提取数字?
时间: 2024-10-10 08:05:49 浏览: 10
在Python中,如果你想从包含字母和数字的字符串中提取纯数字部分,有几种常见的方法:
1. **正则表达式** (Regular Expression):
使用`re`模块中的`findall()`或`search()`函数,找到所有的数字。例如:
```python
import re
s = "abc123def456"
numbers = re.findall(r'\d+', s)
print(numbers) # 输出 ['123', '456']
```
2. **迭代处理**:
遍历字符串,逐个检查每个字符是否为数字。如果是,则添加到结果列表中。这种方法适合简单的字符串,但效率不如正则表达式。
```python
s = "abc123def456"
numbers = []
for char in s:
if char.isdigit():
numbers.append(char)
print(''.join(numbers)) # 输出 "123456"
```
3. **内置函数**:
如果字符串只有一组连续的数字,可以尝试用`int()`或`float()`函数捕获异常,然后获取其引发错误前的部分。但这可能会丢失非整数部分。
```python
s = "abc123def456.789"
try:
number = int(s.split('.')[0])
except ValueError:
number = None
print(number) # 输出 123
```