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

如何在Markdown目录中自动移除三级标题

几种自动移除三级标题生成两级目录的方法

1. 正则表达式批量处理

大多数文本编辑器(VS Code、Sublime Text、Notepad++等)都支持正则查找替换,直接删掉所有三级标题:

  • 打开查找替换功能,选择「正则表达式」模式
  • 查找内容填 ^###.*$(匹配所有以 ### 开头的行)
  • 替换内容留空,点击「全部替换」即可清除所有三级标题

如果要直接提取一二级标题生成目录,可用正则提取:

  • 查找内容填 ^(#{1,2})\s*(.*)$
  • 替换内容根据层级设置格式,比如一级标题用 $2,二级标题用 $2,批量替换后就能得到符合要求的目录结构。

2. 编辑器插件一键生成

以VS Code为例,安装「Markdown All in One」插件后:

  • 打开Markdown文件,按下 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(Mac)
  • 搜索并执行「Create Table of Contents」命令
  • 提前在插件设置里找到「Markdown All in One: Table of Contents Levels」,设置为 1-2,生成的目录就会自动过滤三级及以下标题。

3. 简单脚本批量生成

用Python写几行代码就能批量处理文件,示例代码如下:

# 读取目标Markdown文件
with open("你的文件路径.md", "r", encoding="utf-8") as f:
    content_lines = f.readlines()

toc_content = []
for line in content_lines:
    trimmed_line = line.strip()
    # 匹配一级标题
    if trimmed_line.startswith("# "):
        toc_content.append(trimmed_line[2:])
    # 匹配二级标题
    elif trimmed_line.startswith("## "):
        toc_content.append(f"  {trimmed_line[3:]}")

# 把生成的目录写入新文件
with open("生成的目录.md", "w", encoding="utf-8") as f:
    f.write("\n".join(toc_content))

内容的提问来源于stack exchange,提问作者Liza Shvachka

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 15:06:22