用于搜索并替换为“的Python脚本”;“仅匹配单词”;选项

用于搜索并替换为“的Python脚本”;“仅匹配单词”;选项,python,replace,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]) 我在记事本中创建了Python脚本++ 然后我有一个名为Portuguesetranslator.txt的“数据库” 分为 结果*Resultado* 事

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])
我在记事本中创建了Python脚本++

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

分为

结果*Resultado* 事件*事件* .... 还有更多像这样的1k++考试

那么我做的过程就是。。 我打开第三个标签。。。从internet复制文本。。然后放到那个标签上。。然后按plugin/pythonscript/portuguesetranslator运行脚本

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


那么我做错了什么呢?

试试正则表达式
\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])

试试正则表达式
\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])

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

打开('C:\Users\Administrator\Desktop\IPL\WIP\EnergyTagSubstitutions.txt'),作为f:
对于f中的l:
s=l.split()

编辑器。重新替换(r'\b'+s[0]+r'\b',s[1])

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

打开('C:\Users\Administrator\Desktop\IPL\WIP\EnergyTagSubstitutions.txt'),作为f:
对于f中的l:
s=l.split()

编辑器。重新替换(r'\b'+s[0]+r'\b',s[1])

你能发布你的文本文件吗?了解更多会有帮助的。赫尔顿波尔帮我个忙,阿尤达卡拉!哦,巴西的价格(@RenanCidale no meu perfil tem correio eletrônico,sónão garanto ajuda rápida!你能发布你的文本文件吗?这将有助于了解更多。Helton Por帮我一把,ajuda cara!哦,巴西的声音!:(@RenanCidale no meu perfil tem correio eletrônico,sónão garanto ajuda rápida!所以我只需要复制脚本并替换为我的?。对于数据库,我一直使用相同的模型?ResultResultado?所以..我替换了..并尝试运行脚本..但它没有翻译任何东西..在文本文件中..单词必须如何放置??resultresultado?导入re时,打开('C:/Users/User/Desktop/Portuguesetranslator.txt')作为f:for在f:s=l.split('*')re.sub(r'\b'+s[0]+r'\b',s[1],编辑器)中的l脚本文件中的所有内容在哪里?是的。这是我的整个脚本。我在文本文件中运行该脚本。该脚本基于建立在C:/Users/User/Desktop/Portuguesetranslator.txt中的数据库,正如您在脚本中看到的,所以我只需要复制该脚本并替换为我的脚本。对于数据库,我一直使用sam编写e model?ResultResultado?so..我替换了..并尝试运行脚本..但它没有翻译任何东西..在文本文件中..单词必须如何放置?ResultResultado?导入re并打开('C:/Users/User/Desktop/Portuguesetranslator.txt'),作为f:s=l.split('*')re.sub(r'\b'+s[0]+r'\b',s[1],编辑器)脚本文件中的所有内容在哪里是的..这是我的整个脚本..我在文本文件中运行该脚本..该脚本基于建立在C:/Users/User/Desktop/Portuguesetranslator.txt中的数据库,正如您在脚本中看到的那样