如何使用Python的find函数实现句子中的单词替换?
使用find方法实现单词替换的解决方案
首先,find()方法会返回目标单词在句子中的起始索引,如果找不到目标单词则返回-1。要完成替换,核心是通过索引拆分原句子,再拼接替换后的内容,具体步骤如下:
- 用
find()定位目标单词的起始位置 - 计算目标单词的长度,确定它在句子中的结束位置
- 将句子拆分为「目标单词之前的部分」+「替换单词」+「目标单词之后的部分」
修正后的代码如下:
sentence = input("Enter a sentence: ") word = input("Enter word to replace: ") replacement = input("Enter replacement word: ") # 找到目标单词的起始索引 start_idx = sentence.find(word) if start_idx != -1: # 计算目标单词的结束索引(起始索引 + 单词长度) end_idx = start_idx + len(word) # 拼接生成新句子 new_sentence = sentence[:start_idx] + replacement + sentence[end_idx:] print(new_sentence) else: print(f"句子中没有找到单词 '{word}'")
代码细节说明
sentence[:start_idx]:截取原句子开头到目标单词起始位置前的所有字符sentence[end_idx:]:截取原句子中目标单词结束位置到末尾的所有字符- 添加
if start_idx != -1的判断,是为了处理目标单词不存在的情况,避免程序出现逻辑错误
补充提示
这个方法只会替换第一次出现的目标单词,如果需要替换所有出现的单词,基于find()需要循环定位每次出现的索引,但作业要求用find()的话,处理单次替换就符合要求了。
内容的提问来源于stack exchange,提问作者drc91
相关产品推荐
相关产品推荐

