我在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?
答案 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中运行它,您的代码是正确的;-) 您的输入看起来如何?