如何在字符串中替换

how to replace in a string

我有一个 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() returns 一个整数值。

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

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

在 python 中,字符串永远不会被修改 in-place。事实上,字符串根本无法修改。因此,string.replace return 修改副本等方法。

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

  1. 复制原文
  2. 以某种方式修改副本
  3. 保留原件。
  4. return修改后的副本

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

如果你只写 old_string.replace("500","1000") 那么你只是 ignored/discarded 新修改的字符串。 old_string 不能被 replace 或任何其他字符串方法修改。