我可以在 Notepad++ 中创建自动增量功能吗?

我可以在 Notepad++ 中创建自动增量功能吗?

我正在尝试做这本 DAISY 有声读物,而不是使用 Dolphin Publisher 的 HTML 东西(它很丑陋),我想在 notepad++ 中尝试一下没有 GUI 的,因为我懂基本的 HTML。

所以我需要用

<span class="sentence" id="aiw_0002"> text of sentence </span>

当然,ID 号需要递增。有没有一种神奇的方法可以让我制作一个按键/宏来实现这一点?基本上就是</span><span class="sentence" id="something_xxxx">每次粘贴 X 增加 1 的位置?

我不太喜欢将 span 语句(在最后的引号和大于号之前停止)复制到 Excel2016 中,再复制一个(0003)以建立模式,然后单击拖动以自动填充。我只需添加标签的最后一个提示(如果我没有以数字结尾,则没有自动递增功能)。

我无法安装任何东西 - 政府电脑,一切都被锁定了。我所在地区没有其他人使用 Dolphin 或了解网络方面的东西。

答案1

基于此Stack Overflow 答案

  • 按住该Alt键并使用鼠标选择您想要更改的数字列。

  • 选择编辑 → 列编辑器...Alt+ C)。

  • 选择插入号码单选按钮选项并填写初始编号:通过增加:值。

  • 点击好的应用您的更改。

注意事项

您的用例的基本缺点(除了手动选择)是没有自动添加前导零。这可以通过一个或多个正则表达式替换来克服,但并不理想。例如,要在给定的行中添加三个前导零(更改后):

  • 选择您的线条(例如带有 的线条0-9)。

  • 搜索 → 替换...Ctrl+ H)。

  • 前任。 找什么: (.*)aiw_(.*)用。。。来代替: $1aiw_000$2

  • 标记在选择中复选框。

  • 确保搜索模式 → 正则表达式...单选按钮选项被选中(我也有环绕复选框已选中,但可能需要或不需要切换)。

  • 全部替换

在上面的正则表达式中,第一个(.*)和第二个分别(.*)对应于组$1$2


请注意,上述正则表达式只是一个例子。您可能需要根据 HTML 代码对其进行修改,以获得所需/一致的行为。


是否有一种神奇的方法可以让我制作一个按键/宏来实现这一点?

Notepad++ 确实具有录制宏的功能。话虽如此,但可能很难想出一个可以一次性完成上述所有步骤的宏(尽管您当然可以为该过程的各个阶段设置多个宏)。

相关内容