python - 如何在字符串中替换
问题描述
我有一个 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
解决方案
在 python 中,字符串永远不会就地修改。事实上,字符串根本无法修改。因此,诸如string.replace
返回修改副本之类的方法。
在python中,字符串方法一般做以下事情:
- 复制原件
- 以某种方式修改副本
- 留下原件。
- 返回修改后的副本
你想写:
new_string = old_string.replace("500","1000")
如果您只写 writeold_string.replace("500","1000")
那么您只是忽略/丢弃了新修改的字符串。old_string
不能被replace
或任何其他字符串方法修改。
推荐阅读
- java - 不需要新变量声明的小函数的可读性
- spring-security - SSHA512 加密并与 spring 5 匹配
- c# - 使用 UniformGrid 在 ListView 中嵌套绑定和布局
- azure - 使用 API v2 从 azure CR 获取单个层 blob
- python - sci-kit 学习 TransformerMixin 有奇怪的 fit_transform 行为
- google-cloud-platform - 仅在 apache 数据流中的同一管道中执行上一步后才执行某些步骤
- linux - 我们可以在使用 tc(traffic control) 时检查数据包统计信息吗?
- c# - 如何在一个用户控件中有两个滚动视图?
- python-3.x - Rasa 按钮在 Slack 中显示为文本
- docker - 无法使用 docker 登录到 canister.io - 授权服务器在响应中未包含令牌