【发布时间】:2017-02-16 14:18:00
【问题描述】:
这应该很容易,但我正在寻找一种有效的方法来执行它。
我知道我可以将字符串分成两部分并插入新值,但我尝试替换索引 22-26 之间的每一行,如下所示:
line.replace(line[22:26],new_value)
问题
但是,该函数会替换行中与line[22:26] 中的模式相似的所有内容。
在下面的示例中,我想将标记的数字 1 替换为数字 17:
这是结果。注意在几个地方将1 替换为17:
因此我不明白replace 命令的行为。对我做错了什么有简单的解释吗?
为什么我不想要 RE
索引 22-26 之间的值在形式上不统一。
注意:我在 Unix/Linux 机器上使用 python 3.5。
【问题讨论】:
-
line[22:26]给你一个带有1和一些空格的字符串。您使用此模式将这一行中的每个出现替换为new_value。
标签: string python-3.x replace