给定一个字符串A,同时给定它的长度n及参数字符数组arg,请返回替换后的字符串。保证参数个数大于等于占位符个数。保证原串由大小写英文字母组成,同时长度小于等于500。
输入:"A%sC%sE",7,[B,D,F],3
输出:"ABCDEF"
class StringFormat:
def formatString(self,A,n,arg,m):
num=int(A.count("%s"))#统计占位符的总数
arg1=list(arg)
if num < m:
for i in range(num):#利用循环加replace()进行一一替换
s=arg1[i]
A = A.replace("%s", s,1)#这里使用replace()函数进行替换,1表示每次只替换一个值,不加的话会全部替换,导致后期找不到占位符,无法替换
A=A+arg[num:m]
return A
else:#考虑其他情况(题目规定只有保证参数个数大于等于占位符个数,这里考虑的是等于)
for i in range(num):
s=arg1[i]
A = A.replace("%s", s,1)
return A