给定以下字符串模板和所需的结果,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

10-04 11:30
查看更多