Emacs用增量序列

时间:2018-03-27 18:02:58

标签: emacs text-editor replaceregexp

我试图找出一种方法来替换文本文件中的字符串,增加的数字超过1.我想尝试这样的几行:

result_A_in_S1-S2.txt
result_A_in_S1-S2.txt
result_A_in_S1-S2.txt
result_A_in_S1-S2.txt

S1S2按顺序扩展的内容。

result_A_in_1000-1003.txt
result_A_in_1004-1007.txt
result_A_in_1008-1011.txt
result_A_in_1012-1015.txt

我想知道我是否可以使用replace regexp定义一个字符串,然后将该字符串替换为某个起始编号,并且当它找到下一个字符串时,它将替换为起始编号+选择的增量。

我刚刚开始学习Emacs并且对它非常不熟悉。

1 个答案:

答案 0 :(得分:2)

是的,您可以使用Emacs中的[query-] replace-regexp,通过评估替换中的elisp,并使用从零开始的替换计数器\#来实现。 e.g:

M-X query-regexp-replace RET S1-S2 RET
\,(let ((start (+ 1000 (* 4 \#)))) (format "%d-%d" start (+ start 3))) RET