关于python 2.7:如果字符串包含特定的字母/字符,则替换整个字符串

Replace the whole string if it contains specific letters/character

如果包含特定的字母/字符,则替换整个字符串…

我有一个包含多行的文本文件(myfile.txt),例如:

The hotdog
The goal
The goat

我要做的是:

如果文件中的任何单词/字符串包含字符"go",则将其替换为全新的单词/字符串("boat"),因此输出如下所示:

The hotdog
The boat
The boat

如何在Python2.7中完成这一点?


听起来你想要这样的东西:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
with open('myFile.txt', 'r+') as word_bank:
    new_lines = []
    for line in word_bank:
        new_line = []
        for word in line.strip().split():
            if 'go' in word:
                new_line.append('boat')
            else:
                new_line.append(word)
        new_lines.append('%s
' % ' '.join(new_line))
    word_bank.truncate(0)
    word_bank.seek(0)
    word_bank.writelines(new_lines)

打开文件进行读写,将每一行拆分为组件字,并查找要替换的"go"实例。保持在列表中,因为您不想修改正在迭代的内容。你会很不开心的。一旦构造好了,就截断文件(删除它)并写下您想到的内容。注意,我改为在结尾处粘贴一个明确的'
'
,因为writelines不会为您这样做。