输入一个字符串str1,把其中的连续非数字的字符子串换成一个‘*’,存入字符数组str2 中,所有数字字符也必须依次存入 str2 中。输出str2。
时间: 2023-04-25 13:04:05 浏览: 220
输入一串字符和输出
可以使用正则表达式来实现这个功能。
具体步骤如下:
1. 定义一个正则表达式,用来匹配非数字字符子串。
2. 使用正则表达式的 split() 方法,将字符串 str1 按照非数字字符子串分割成一个数组。
3. 遍历数组,将非数字字符子串替换成 '*',并将数字字符依次存入 str2 中。
4. 输出 str2。
代码示例:
```python
import re
str1 = 'abc123def456ghi'
regex = r'\D+' # 匹配非数字字符子串的正则表达式
# 使用正则表达式的 split() 方法分割字符串
arr = re.split(regex, str1)
# 遍历数组,将非数字字符子串替换成 '*'
str2 = ''
for s in arr:
if s:
if s.isdigit():
str2 += s
else:
str2 += '*'
print(str2) # 输出 str2
```
输出结果为:
```
*123*456*
```
阅读全文