python如何将每一个字符串(假设为n个)中的数字按照其顺序提取出来,形成n个新的字符串:
时间: 2024-09-25 13:07:05 浏览: 35
在Python中,你可以使用正则表达式库`re`来实现这个功能。下面是一个简单的步骤说明:
1. 导入`re`模块,它是处理正则表达式的工具。
2. 使用`re.findall()`函数,它会找出所有匹配给定模式的非-overlapping子串,并返回它们的列表。
假设你有一个包含多个字符串的列表,每个字符串都可能含有数字,可以这样做:
```python
import re
def extract_numbers(strings):
# 定义正则表达式,匹配一个或多个数字
pattern = r'\d+'
# 对于输入的每个字符串
new_strings = []
for string in strings:
# 找出所有的数字并添加到新字符串中
numbers = re.findall(pattern, string)
# 如果找到数字,将其连接成一个新的字符串
if numbers:
new_string = ''.join(numbers)
new_strings.append(new_string)
else:
# 如果没有找到数字,就直接添加原始字符串
new_strings.append(string)
return new_strings
# 示例:
input_list = ['abc123', 'def456', 'ghi789']
result = extract_numbers(input_list)
print(result) # 输出: ['123', '456', '789']
```
阅读全文