在Python编程中,有许多情况需要从字符串中提取纯数字。在本文中,我们将从多个角度来分析Python中如何提取纯数字。包括使用正则表达式、使用isdigit函数、使用循环、使用列表生成式、使用map函数和使用filter函数等。
一、使用正则表达式提取纯数字
正则表达式是一种强大的工具,它可以帮助我们从字符串中提取出数字。在Python中,我们可以使用re模块来处理正则表达式。具体方法如下:
```python
import re
# 定义一个字符串
string = "Hello 123 World 456"
# 使用re.findall函数提取数字
nums = re.findall(r'\d+', string)
# 输出结果
print(nums)
```
代码中,r'\d+'表示匹配一个或多个数字。函数re.findall返回一个包含所有匹配项的列表,其中每个匹配项都是一个字符串。运行后,输出结果为:
```python
['123', '456']
```
二、使用isdigit函数提取纯数字
isdigit函数可以判断一个字符串是否只包含数字。因此,我们可以循环遍历字符串中的每个字符,并使用isdigit函数来判断是否为数字。
```python
# 定义一个字符串
string = "Hello 123 World 456"
# 定义一个空字符串存储数字
nums = ""
# 循环遍历字符串
for char in string:
# 如果该字符为数字,则加入到nums中
if char.isdigit():
nums += char
# 输出结果
print(nums)
```
运行后,输出结果为:
```python
123456
```
三、使用循环提取纯数字
我们可以使用循环遍历字符串中的每个字符,并使用isdigit函数判断是否为数字。如果是数字,则加入到一个空列表中。
```python
# 定义一个字符串
string = "Hello 123 World 456"
# 定义一个空列表存储数字
nums = []
# 循环遍历字符串
for char in string:
# 如果该字符为数字,则加入到nums中
if char.isdigit():
nums.append(char)
# 将列表转化为字符串
nums_str = ''.join(nums)
# 输出结果
print(nums_str)
```
运行后,输出结果为:
```python
123456
```
四、使用列表生成式提取纯数字
列表生成式是一种快速创建列表的方式。我们可以使用列表生成式来实现从字符串中提取纯数字的操作。
```python
# 定义一个字符串
string = "Hello 123 World 456"
# 定义一个列表生成式提取数字
nums = [char for char in string if char.isdigit()]
# 将列表转化为字符串
nums_str = ''.join(nums)
# 输出结果
print(nums_str)
```
运行后,输出结果为:
```python
123456
```
五、使用map函数提取纯数字
map函数可以将一个函数应用于序列中的每个元素,并返回一个新的序列。我们可以使用map函数将isdigit函数应用于字符串中的每个字符,然后使用join函数将序列转换为一个字符串。
```python
# 定义一个字符串
string = "Hello 123 World 456"
# 使用map函数提取数字
nums = ''.join(map(str.isdigit, string))
# 输出结果
print(nums)
```
运行后,输出结果为:
```python
000011112222
```
注意:使用map函数返回的不是一个列表或字符串,而是一个map对象。我们需要使用join函数将其转化为一个字符串。
六、使用filter函数提取纯数字
filter函数可以根据函数返回的True或False值来过滤序列。我们可以使用filter函数和isdigit函数来提取字符串中的数字。
```python
# 定义一个字符串
string = "Hello 123 World 456"
# 使用filter函数提取数字
nums = ''.join(filter(str.isdigit, string))
# 输出结果
print(nums)
```
运行后,输出结果为:
```python
123456
```
综上所述,我们可以使用多种方法来从字符串中提取纯数字。具体方法包括使用正则表达式、使用isdigit函数、使用循环、使用列表生成式、使用map函数和使用filter函数等。使用不同的方法可以满足不同的需求。
微信扫一扫,领取最新备考资料