当子字符串是单独的单词时替换它

Moh*_*xit 4 python string replace

我试图用"H1"替换文件中的字符串即"H3",但我只想要"H3"替换而不是"mmmoleculeH3"变成"mmmoleculeH1".我尝试了但是我在python中的有限知识并没有把我带到任何地方.如果有任何其他方法,那将是我现在使用的great.script是:

#!/usr/bin/python

import fileinput
import sys
def replaceAll(file,searchExp,replaceExp):
    for line in fileinput.input(file, inplace=1):
        if searchExp in line:
            line = line.replace(searchExp,replaceExp)
        sys.stdout.write(line)

replaceAll("boxFile.cof","H3","H1")
Run Code Online (Sandbox Code Playgroud)

如果有任何方法我可以用它本身而不使用re那么那将是伟大的.谢谢你提前.

Dan*_*man 6

正如其他人所说,这是正则表达式是正确工具的情况.

您可以使用\b以下命令替换整个单词:

>>> text = 'H3 foo barH3 H3baz H3 quH3ux'
>>> re.sub(r'\bH3\b', 'H1', text)
'H1 foo barH3 H3baz H1 quH3ux'
Run Code Online (Sandbox Code Playgroud)