[简答题循环:取提数字字符串 输入字符串x,将其中的数字字符(0'到19)取出来,再逆向输出 例如输入abc123def45gh123输出32154321 输入123abab45输出54321 方法1:迭代 方法2:正则表达式
时间: 2024-09-30 11:14:15 浏览: 31
Python字符串格式化输出代码实例
方法1: 迭代 - 可以通过遍历输入字符串x,检查每个字符是否为数字,如果是,则将其添加到结果列表中。遍历完成后,将这个列表逆序后再转换成字符串。
```python
def extract_numbers_iterative(x):
result = []
for char in x:
if char.isdigit():
result.append(char)
return ''.join(result[::-1])
# 示例
input_str = "abc123def45gh123"
output = extract_numbers_iterative(input_str)
print(output) # 输出: 32154321
input_str = "123abab45"
output = extract_numbers_iterative(input_str)
print(output) # 输出: 54321
```
方法2: 正则表达式 - 利用Python的re模块可以更简洁地处理这个问题。正则表达式匹配所有数字,然后提取并逆序它们。
```python
import re
def extract_numbers_regex(x):
numbers = re.findall('\d', x)
return ''.join(numbers[::-1])
# 示例
input_str = "abc123def45gh123"
output = extract_numbers_regex(input_str)
print(output) # 输出: 32154321
input_str = "123abab45"
output = extract_numbers_regex(input_str)
print(output)
阅读全文