给定以下字符串模板和所需的结果,Python中是否有一种简单的(单线型)方法来实现这一目标?
我希望id在替换之后/之前增加。
"fruit-{id} fruit-{id} fruit-{id}"
"fruit-1 fruit-2 fruit-3"
更新:
我意识到我没有很好地描述问题,也没有选择一个好的例子。模板通常不像水果示例那样规则。
可能就像...
"Lorem{id} ipsum dolor{id} sit amet, consectetur adipiscing elit{id}, sed do eiusmod{id} tempor incididunt..."
...不清楚字符串中将有多少个ID。
最佳答案
如果您的字符串始终采用"fruit-{id} fruit-{id} fruit-{id}"
格式,则您不能使用内置的str.format
,因为它依赖于不同的变量。您将必须实现自己的格式功能,例如(使用re
模块):
def format_str(s, target="{id}"):
i = 1
while target in s:
s = re.subn(target, str(i), s, count=1)[0]
i += 1
return s