自己写的,最开始想遍历把每个数字前后都加上*,再删除**的,剩余的就应该满足条件了,但是发现给的字符串中也可能出现*,所以先把原始字符串中的*替换成了一般字符串中不会有的中文,再按上述方法计算,最后再把中文替换回 *
while True:
try:
s = input()
sn = ''
s = s.replace('*', '牛')
for i in s:
if i.isdigit():
sn += '*' + i + '*'
else:
sn += i
sn = sn.replace('**', '')
print(sn.replace('牛', '*'))
except:
break
再记录下看到的re方法,方法很简单
import re
while True:
try:
print(re.sub('(\d+)', '*\g<1>*', input()))
except:
break