字符串replace()无法按预期工作

时间:2019-03-11 05:59:07

标签: python replace find

我在python中的replace()函数上遇到了麻烦。这是我的代码:

string = input()
word = string.find('word')
if word >= 1:
    string = string.replace('word', 'word.2')
print(string)

输出给出word。不应该是word.2吗? 我很困惑。有帮助吗?

编辑:在解决了这一问题后,我发现问题现在是:“为什么string.find('word')对于输入word等于0?

2 个答案:

答案 0 :(得分:6)

代替

word >= 1

word >= 0

string.find()返回单词的第一次出现。如果您的字符串是'word'并且找到'word',则它将返回0,因为单词'word'首先出现在索引0处。

在python中,数组从0开始。字符串中的第一个字符在索引0处。

因此,“单词”中的“单词”位于第一个位置,即0。

答案 1 :(得分:3)

无需使用find函数,只需执行以下操作即可:

string = input()
string = string.replace('word', 'word.2')

但是,如果我在Python3中运行它,您的代码是正确的;-) 您的输入看起来如何?