如何在EmEditor中将不同书签字符串分别提取至独立新文件?
实现EmEditor按书签对应字符串拆分保存为独立文件
EmEditor默认的「提取书签行至新文件」会把所有书签行合并到一个文件里,要实现按对应字符串拆分到独立文件,最直接的方式是用自定义宏脚本来完成,具体操作如下:
步骤1:创建并编写宏脚本
- 打开EmEditor,点击菜单栏的「宏」→「新建宏」。
- 在弹出的编辑器中,粘贴以下JScript代码:
function main() { // 替换成你之前用来标记书签的目标字符串列表 var targetStrings = ["字符串A", "字符串B", "字符串C"]; var doc = document; var lines = []; // 收集所有书签行的内容 for (var i = 1; i <= doc.Lines.Count; i++) { if (doc.Lines(i).Bookmark) { lines.push(doc.Lines(i).Text); } } // 按目标字符串分组并创建新文档 targetStrings.forEach(function(str) { var matchedLines = lines.filter(line => line.includes(str)); if (matchedLines.length > 0) { var newDoc = editor.NewDocument(); newDoc.Text = matchedLines.join("\r\n"); // 设置新文档标题,方便识别对应字符串 newDoc.Name = "匹配_" + str + ".txt"; } }); }
- 修改代码里的
targetStrings数组,把内容替换成你实际用来标记书签的所有字符串。
步骤2:运行宏
- 保存宏文件(比如命名为「按字符串拆分书签行.jsee」)。
- 回到包含书签的目标文档,点击「宏」→「运行」,选择刚才保存的宏文件执行即可。
补充说明
- 如果你的目标字符串是通过正则表达式匹配的,可以把代码里的
line.includes(str)改成正则匹配逻辑,比如/你的正则表达式/.test(line)。 - 运行宏后,每个目标字符串对应的书签行会自动在EmEditor中打开一个新文档,你可以按需保存这些文档到指定路径。
内容的提问来源于stack exchange,提问作者RonyKing Sourcing INC
相关产品推荐
相关产品推荐

