我在XML文件中有一堆测试用例,名为:blah_blah_blah_blah_number
测试用例的数字全部搞砸了如下:
blah_3
blah_1
blah_7
....
我需要重新编号。这样第一个重新编号为1,第二个重命名为2 ..依此类推。我想为此构建一个宏但我不知道如何开始。我需要某种搜索功能,可以转到我给它的模式,然后用一个我保留在某个变量中的计数代替数字。我对Slick-C并不擅长,并希望能够快速完成这项任务:\
任何帮助表示赞赏,
泰德
答案 0 :(得分:1)
要获得更及时的答案,您可以考虑在slickedit.com上使用SlickEdit论坛,但我会在这里尝试。
我会将文件加载到缓冲区中,并沿着以下行创建一个宏:
search
来查找下一个匹配项search_replace
将找到的字符串替换为使用计数器变量组成的新字符串,并重复上一次搜索如果不在XML文件上进行测试,这应该为您的功能提供一个开始(假设您知道如何创建宏文件并将其加载到SE中),快速测试表明它可以在纯文本文件上运行,但不保证:
/* Demo for StackOverflow question 14205293 */
_command my_renumber() name_info(','VSARG2_MARK|VSARG2_REQUIRES_EDITORCTL)
{
int not_found = 0; /* boolean to terminate loop */
int iLoop = 0; /* Counter to renumber items */
/* Use search initially; if that call doen't find an item, we're done. */
if (search('blah_:i', 'R') != 0)
{
not_found = 1;
}
while (!not_found)
{
if (search_replace('blah_' :+ iLoop, 'R') == STRING_NOT_FOUND_RC)
{
not_found = 1;
}
iLoop++;
}
}