如何计算字符串中的替换次数

时间:2019-07-06 08:59:41

标签: python

我目前正在研究初学者的问题 (https://www.reddit.com/r/beginnerprojects/comments/1i6sax/challenge_count_and_fix_green_eggs_and_ham/)。

面临的挑战是通读文件,用“ I”替换小写的“ i”并编写一个新的更正的文件。

我正处于程序读取输入文件,替换相关小写字母并写入新的更正文件的地步。但是,我还需要计算更正的次数。

我已经浏览了.replace()文档,但看不到有可能找到进行替换的次数。是否可以使用替换方法来计算校正次数?

def capitalize_i(file):
    file = file.replace('i ', 'I ')
    file = file.replace('-i-', '-I-')
    return file


with open("green_eggs.txt", "r") as f_open:
    file_1 = f_open.read()

file_2 = open("result.txt", "w")

file_2.write(capitalize_i(file_1))

1 个答案:

答案 0 :(得分:1)

您可以只使用count函数:

i_count = file.count('i ')
file = file.replace('i ', 'I ')
i_count += file.count('-i-')
file = file.replace('-i-', '-I-')

i_count将具有替换的总数。您还可以根据需要通过创建新变量来分隔它们。