You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在EmEditor中将不同书签字符串分别提取至独立新文件?

实现EmEditor按书签对应字符串拆分保存为独立文件

EmEditor默认的「提取书签行至新文件」会把所有书签行合并到一个文件里,要实现按对应字符串拆分到独立文件,最直接的方式是用自定义宏脚本来完成,具体操作如下:

步骤1:创建并编写宏脚本

  1. 打开EmEditor,点击菜单栏的「宏」→「新建宏」。
  2. 在弹出的编辑器中,粘贴以下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";
        }
    });
}
  1. 修改代码里的targetStrings数组,把内容替换成你实际用来标记书签的所有字符串。

步骤2:运行宏

  1. 保存宏文件(比如命名为「按字符串拆分书签行.jsee」)。
  2. 回到包含书签的目标文档,点击「宏」→「运行」,选择刚才保存的宏文件执行即可。

补充说明

  • 如果你的目标字符串是通过正则表达式匹配的,可以把代码里的line.includes(str)改成正则匹配逻辑,比如/你的正则表达式/.test(line)。
  • 运行宏后,每个目标字符串对应的书签行会自动在EmEditor中打开一个新文档,你可以按需保存这些文档到指定路径。

内容的提问来源于stack exchange,提问作者RonyKing Sourcing INC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 13:10:33