python怎么删除除了末尾星号,而前面的星号都删除

img


python中字符串怎么删除除了末尾星号,而前面的星号都删除

a=input()
b=a.rstrip('*')  # 删除末尾的星号
c=a.replace(b,'')  #把a里面字符串b替换掉,只剩末尾的星号
d=a.replace('*','')+c  #把a里所有星号都替换掉,再把末尾的星号加回来
print(d)

当然也可以循环从后往前删掉星号来做

a=input()
b=list(a) #一定要先转list,否则不让删
for i in range(len(b)-1,-1,-1): #从后往前循环
    if b[i]=='*': #如果是星就删掉
        del b[i]
    else:  #如果不是星就结束
        break
c=''.join(b)  #list合并回str
print(c)

import re


def match(matched):
    value = matched.group('value')
    return ''.join(filter(lambda x: x.isalpha(), value))


s = '***dsad***ds*'
print(re.sub('(?P<value>.\*+[a-zA-Z]+)', match, s))