Python脚本用于搜索和替换“仅匹配单词”选项

时间:2013-07-18 19:05:26

标签: python replace

Py文件:名为Portuguesetranslator.py

with open('C:/Users/User/Desktop/Portuguesetranslator.txt') as f:
    for l in f:
        s = l.split('*')
        editor.replace(s[0],s[1])

我在Notepad ++

中创建了Python脚本

然后我的“数据库”名为Portuguesetranslator.txt

并分为

结果* * Resultado 事件*事件摘要* ....还有更多像这样的1k ++ exapmles

然后我做的过程是...... 我打开第三个标签...从互联网复制文本..并放入该标签..然后我按下plugin / python script / portuguesetranslator运行脚本

它在我的整个文档中运行并搜索并替换..

那么我做错了什么?

2 个答案:

答案 0 :(得分:1)

尝试正则表达式。 \b是正则表达式中的单词边界命令。这意味着在正则表达式中的那一点,您必须位于单词边界(不在单词的中间)。您可以将其包裹在s[0]

周围
import re
with open('C:/Users/User/Desktop/Portuguesetranslator.txt') as f:
    for l in f:
        s = l.split('*')
        editor = re.sub(r'\b' + s[0] + r'\b', s[1], editor)

编辑 - 对于记事本++,看起来您希望最后一行是这样的:

editor.pyreplace(r'\b' + s[0] + r'\b', s[1])

答案 1 :(得分:0)

来自@ JoshG79的答案对我来说并不合适(N ++ 7.5.1),只需要修改最后一行:

with open('C:\Users\Administrator\Desktop\IPL\WIP\EnergyTagSubstitutions.txt') as f: for l in f: s = l.split() editor.rereplace(r'\b' + s[0] + r'\b', s[1])