def increment_string(s:str)->str:
if len(s)==0:
return '1'
end=s[-1]
li2=['0','1','2','3','4','5','6','7','8','9']
y=''
num=0
if end.isdigit() is False:
return s+'1'
for i in range(len(s)):
if s[-(i+1)] in li2:
y=s[-(i+1)]+y
else:
num=i
break
return s[:(-num)] + str(int(y) + 1)
import re
from decimal import Decimal
def increment_string(s: str) -> str:
number = re.findall(r"\d+\.?\d*", s)
res = ""
if not number or len(s) == 0:
res = s + "1"
elif s.endswith(number[-1]) and not s.endswith('.'):
number[-1] = '{:g}'.format(Decimal(number[-1]))
sa = str(number[-1])
index = sa.find('.')
ws = 0
if index < 0:
tempdata = int(number[-1]) + 1
else:
ws = len(sa[index + 1:len(sa)])
tempdata = Decimal(number[-1]) + Decimal(1 / pow(10, ws))
res = s[0:len(s) - len(number[-1])] + '{:g}'.format(round(Decimal(tempdata), ws))
else:
res = s + "1"
print(res)
return res