这不是一个很好的方法,但适用于少量的数字集。我用您的示例的 2150 行进行了测试,几乎立即完成。虽然开始在大约 100 万行时苦苦挣扎。它有效,但需要时间:
在 Notepad++ 中使用搜索和替换和搜索模式正则表达式搜索
\b([0-9]{3,5})\b
并替换为0\1
并点击Replace all 3 次。
因此,每个 3-5 位数字都将被其自身替换为前面的 0。替换所有 3 次时,您要确保偶数 3 位数字用 3 个前导零填充。
这又不是一个好方法,但对我有用...
编辑:刚刚看到它必须自动完成......也许notepad++有一些工具可以作为脚本执行搜索和替换,但我会把它留给其他人;)
又一个编辑:我实在忍不住了,我不得不找出来……我用notepad++的宏功能记录了上面解释的S&R的过程,并在哪里可以找到你保存的宏…… .
结果是这样的:
<Macro Key="32" Shift="yes" Alt="yes" Ctrl="no" name="MyUpdater">
<Action sParam="" lParam="0" wParam="0" message="1700" type="3"/>
<Action sParam="\b([0-9]{3,5})\b" lParam="0" wParam="0" message="1601" type="3"/>
<Action sParam="" lParam="2" wParam="0" message="1625" type="3"/>
<Action sParam="0\1" lParam="0" wParam="0" message="1602" type="3"/>
<Action sParam="" lParam="768" wParam="0" message="1702" type="3"/>
<Action sParam="" lParam="1609" wParam="0" message="1701" type="3"/>
<Action sParam="" lParam="0" wParam="0" message="1700" type="3"/>
<Action sParam="\b([0-9]{3,5})\b" lParam="0" wParam="0" message="1601" type="3"/>
<Action sParam="" lParam="2" wParam="0" message="1625" type="3"/>
<Action sParam="0\1" lParam="0" wParam="0" message="1602" type="3"/>
<Action sParam="" lParam="768" wParam="0" message="1702" type="3"/>
<Action sParam="" lParam="1609" wParam="0" message="1701" type="3"/>
<Action sParam="" lParam="0" wParam="0" message="1700" type="3"/>
<Action sParam="\b([0-9]{3,5})\b" lParam="0" wParam="0" message="1601" type="3"/>
<Action sParam="" lParam="2" wParam="0" message="1625" type="3"/>
<Action sParam="0\1" lParam="0" wParam="0" message="1602" type="3"/>
<Action sParam="" lParam="768" wParam="0" message="1702" type="3"/>
<Action sParam="" lParam="1609" wParam="0" message="1701" type="3"/>
</Macro>
关闭记事本++。
转到%appdata%\Notepad++\ 并打开文件shortcuts.xml 使用普通文本编辑器(notepad++ 会将其覆盖回正常状态)并将上面的xml代码放在那里(应该已经有一个宏名为“Trim Trailing and Save”;只需将其放在结束 </Macro> 标记下并保存即可。当您现在打开 Notepadd++ 并单击菜单栏中的宏时,应该会出现一个名为“MyUpdater”的名称。
当前快捷方式设置为 Alt + Shift + Space 但您可以通过单击 Macro -> Edit Shortcut 来更改它。
这对我有用,这样您就可以将 makro“导出”给其他用户。
要反转此操作,您可以搜索 \b([0]) 并将其替换为空字符串。请注意,您必须再次检查正则表达式!在这里点击全部替换就足够了。
如果有什么问题可以随时提问:)