Skip to main content
 首页 » 编程设计

python之如何替换字符串中的数字

2025年05月04日21sharpest

好吧,假设我在 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 .