【解答合集】批量添加删除修改查找替换

检索词:增加、去掉、清除、Tab、Tag、#、标签、YAML、文档属性、有序列表序号、空格、空行。

通用批量修改,均支持正则表达式:

批量修改标签:Tag Wrangler 插件

批量修改 YAML:

批量修改空行:

  • 增强编辑插件:删除有序列表项时自动修改序号,批量插入、批量去除空行命令等。

如果不需要替换,只需要检索,Obsidian 核心插件“搜索”就可以做到,只需用 / 将正则表达式包裹。

image

正则表达式(Regular Expressions, Regex)是定制度很高的查询方式,能够有效区分相近格式查找替换,且询问 AI 正确率较高,亦已有许多实例可供参考。

点击上箭头或链接转到对应帖子

此外,如果你之前一直使用不规范的缩进,即缩进前无列表标号,只需使用 Ob 自带命令一键转换,详见 关于无序列表与有序列表转换的几种方法

示例 GIF,点击展开

20240121_213849

当你积累了一定基础,还可配合 QuickAddTemplater 等插件实现更多样的正则替换,
示例参 QuickAdd 正则保值替换选单

以下为至今相关求助话题合集。

5 个赞

如题,一开始有些标签使用得比较混乱,所以想要删除,但好像只能一篇笔记一篇笔记的删除,有没有便捷的方法呢。

1 个赞

OB没有全局替换功能。
如果一定要的话,
下载安装使用Emeditor,在特定文件夹下替换所有 【#标签】的文本。

6 个赞

在没有 Emeditor 的操作系统上也可以用 VS code。

1 个赞

[quote=“陈宝, post:3, topic:3555”]
VS code
[/quote]说的对,我就用过一次,在VS code里选中那个文件夹,然后选择替换,替换成空,就是“”,引号中间什么都不打,就可以删除了

2 个赞

只针对标签修改,不是有专门的插件吗Tag Wrangler

文件结构:

标题1

内容内容

标题2

内容内容

注:标题2 和其下内容在每个文件里都是完全一样的文字。

如何删除所有文件下的 标题2 及其下面的内容?

插件或其他方法都行,一次性的需求不要求操作方便,能达到目的就行。

vscode文件夹内容替换,把内容拆开挨个替换成空就行了。比如先把标题替换了,再把每段话替换了。

如果会正则的话或高级搜索更容易些,但也不会容易太多。

那个修改标签的插件其实可以全局替换删除内容,可惜只能用于标签,如果能够手动输入内容就好了。

当笔记累积到一定程度,发现某一类笔记当初设置的 tags 可以统一增加一个 tag 方便归类统计,如果一个个修改效率太低,有没有什么简便的方式,可以批量修改笔记的 tags,批量增加一个 tag ??

试试这个插件 Tag Wrangler

只是tag的话 Tag Wrangler 足够了,还有别的需求,可以试试vs code 遍历全库替换

1 个赞

obsidian以前没有所见即所得编辑器的时候,写出来的格式是:

111111
222222
333333

现在想批量改成typora所见即所得格式

11111

22222

33333

需要在每一行下面增加一个空行,有大佬能提供一下方法吗?

注:有些文件是有空行的,如果能避开就最好,如果不行也没事,数量不多可以再手动处理。

这个需求都没有吗?
比如我之前记日记,每一天的文件里都有 #今日记录 这个标签,有没有办法把这个内容批量去掉?
又比如不是标签,就是固定的文字,要怎么批量去掉?多行空格怎么去掉?等等。

vscode支持批量替换

1 个赞

yaml里面的标签格式是不带#号, 但是如果不适用#的话,则tag没有办法能够联想出来。

使用了#联想后,还得手动的把#号删除掉。

所以想请教 大家 有没有什么比较好的方式来管理yaml的标签呢?

目前我个人想到的方式是: 先用#来补完标签, 然后在格式化去掉#号, 目前我使用的是linter这个插件来管理yaml(因为可以更新修改时间),但是linter似乎不支持格式化去除#号标签。

Yaml的标签要#的话带引号就行

感谢回答, 我发现linter插件已经解决了这个问题。 在格式化yaml区域的时候会自动把#去掉。

1 个赞

笔记里有大量YYYY.MM.DD(小数点区分,例如2023.02.24)格式的日期,现在希望批量改为YYYY-MM-DD(ISO标准格式,例如2023-02-24)的。
而现有valut中不仅md文件名,正文中也有大量用小数点区分,该如何批量修改呢

潜在的解决方案

Vscode+通配符的替换,是不是可以满足我的需求?个人不舒服通配符,不确定这样做是否会有遗漏

谢谢解答!

VSCode 就足够好了, 改文件内容完全没问题,
批量改文件名可能要 VSCode 插件

通配符不够用, 还有正则表达式类似 \d{4}\.\d{2}\.\d{2}, 写得好肯定不漏不滥

唯一麻烦在于, 有些日期文本在 “代码块/引用块” 里,
有可能并不想替换掉这类文本的日期
我理解没啥好办法, md毕竟是文本, 没法简单描述自己的段落类型, 这只能写脚本去判定