gpt4 book ai didi

python - 用分隔文本替换某些字符串

转载 作者:行者123 更新时间:2023-12-01 05:26:35 32 4
gpt4 key购买 nike

我在 html 文件的多个位置都有一些字符串“zyzyzy”。出现次数为 1100 次。

我需要将它们替换为我保存在单独文本文件中的竖线 (|) 分隔文本。

每个分隔文本的长度范围为 1 到数百个字符。

如何使用 python-script、notepad++、sublime text 或任何方式来完成它。如果我手动执行此操作,我将不得不在每个文件中复制粘贴 1100 次。

这是一个 python 脚本,用于使用 Notepad++ python 脚本插件替换内容;我应该将哪些参数传递给 content.replace 函数。

content = editor.getText()
while "zyzyzy" in content:
content = content.replace("zyzyzy", ?? )
/*which arguments should I pass here in place of '??' */

notepad.new()
editor.addText(content)

谢谢

最佳答案

我编写了一个似乎可以工作的 python 脚本。

# load the pipe-delimited replacements into a list
with open ("c:\\pipes.txt", "r") as myfile:
pipes=myfile.read().split('|')

# keep track of which replacement we are up to
ix = 0

def processmatch(line, match):
# we want to use these variables which were declared outside the function
global ix
global pipes
# if we still have replacement text to use..
if ix < len(pipes):
# replace this match text with the current replacement
editor.setTargetStart(editor.positionFromLine(line) + match.start())
editor.setTargetEnd(editor.positionFromLine(line) + match.end())
editor.replaceTarget(pipes[ix])
# use the next replacement next time
ix += 1

# everything the script does will be undone with a single ctrl+Z
editor.beginUndoAction()

# call processmatch for every instance of the target text
editor.pysearch('zyzyzy', processmatch)

editor.endUndoAction()

关于python - 用分隔文本替换某些字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21221380/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com