好吧,假设我在 python 中有一个字符串:
str="martin added 1 new photo to the <a href=''>martins photos</a> album."
该字符串在实际使用中包含更多的 css/html
将 1 ('1 new photo') 更改为说 '2 new photos' 的最快方法是什么。当然稍后 '1' 可能会说 '12'。 请注意,我不知道数字是多少,因此不接受替换。 我还需要将 'photo' 更改为 'photos' 但我可以只做 a .replace(...)。 除非有更简洁、更简单的解决方案来修改两者?
请您参考如下方法:
更新
没关系。从评论中可以明显看出,OP 的要求比问题中显示的要复杂。我不认为我的回答可以解决这个问题。
原始答案
您可以将字符串转换为模板并存储。对变量使用占位符。
template = """%(user)s added %(count)s new %(l_object)s to the
<a href='%(url)s'>%(text)s</a> album."""
options = dict(user = "Martin", count = 1, l_object = 'photo',
url = url, text = "Martin's album")
print template % options
这期望句子的宾语在外部是复数形式。如果您想在模板中使用此逻辑(或更复杂的条件),您应该查看模板引擎,例如 Jinja或 Cheetah .
