描述
将一个字符串中所有的整数前后加上符号“*”,其他字符保持不变。连续的数字视为一个整数。
数据范围:字符串长度满足 1≤𝑛≤100 1≤n≤100
输入描述:
输入一个字符串
输出描述:
字符中所有出现的数字前后加上符号“*”,其他字符保持不变
示例1
输入:
Jkdi234klowe90a3
输出:
Jkdi*234*klowe*90*a*3*
本题主要通过判断一个字符是否是数字,如果不是则加入结果字符串继续循环,如果是的话,则需要根据flag判断是否是连续数字,如果不是,则在前后都加入*,在向后加入的时候需要再做一次判断,判断后面的字符是不是数字,如果是则设置flag为1,否则则再加一个*。
instring=input()
resstrting=''
#判断是否是连续整数,如果是的话为1,不是为0
flag=0
for i in range(len(instring)):
if not instring[i].isdigit():
resstrting+=instring[i]
continue
else:
if i==len(instring)-1:
if flag==0:
resstrting+='*'
resstrting+=instring[i]
resstrting+='*'
continue
if instring[i].isdigit():
if flag==0:
if instring[i+1].isdigit():
flag=1
resstrting+='*'
resstrting+=instring[i]
if flag==0:
resstrting+='*'
elif flag==1:
resstrting+=instring[i]
if not instring[i+1].isdigit():
resstrting+='*'
flag=0
print(resstrting)