06.自定義s.repalce(old,new,times)
阿新 • • 發佈:2019-01-12
def str_replace(s,old,new,*times): #未寫len(times)>2的情況,可以自行完善 len_old=len(old) len_s=len(s) result='' if not times or s.count(old)<=times[0]: #如果t傳入的times為空或者大於要替換的字元在字串裡的數量 i=0 while i < len_s: if s[i:i+len_old]!=old: result+=s[i] i+=1 else: result+=new i+=len_old return result else: for i in range(times[0]): s=s[:s.index(old)]+new+s[s.index(old)+len_old:] #拼接字串 return s print(str_replace("ab1ab2ab3ab4", "ab", "xyz")) print(str_replace("ab1ab2ab3ab4", "ab", "xyz", 2))