首页 > 解决方案 > 如何在字符串中替换

问题描述

我有一个 url,它必须根据其他函数的输出来改变。

rogues_detail_url = https://foo.bar.com/api/list_view.json?list=rogue_ap&fv_id=0&page_length=500&sort_col=acknowledged&sort_descend=false&start_row=0
rogues_detail_url.replace("500",foo())

foo()返回一个整数值。

以防万一我做错了我也试过 rogues_detail_url.replace("500","1000")

它们似乎都不起作用。在我执行语句后打印 url,打印相同的 url

标签: pythonstr-replace

解决方案


在 python 中,字符串永远不会就地修改。事实上,字符串根本无法修改。因此,诸如string.replace返回修改副本之类的方法。

在python中,字符串方法一般做以下事情:

  1. 复制原件
  2. 以某种方式修改副本
  3. 留下原件。
  4. 返回修改后的副本

你想写: new_string = old_string.replace("500","1000")

如果您只写 writeold_string.replace("500","1000")那么您只是忽略/丢弃了新修改的字符串。old_string不能被replace或任何其他字符串方法修改。


推荐阅读