我有一个 xml 数据,其中包含很多不同的标签。结构如下:
<category>
<lesson>
<textfilecard orderID="0">
<Question></Question>
<Answer></Answer>
</textfilecard>
</lesson>
</category>
这是从我的闪存卡程序导出的。您可以想象,有多个“textfilecards”,它们都有一个“orderID”。我想合并两个导出,并在 NotePad++ 或任何适合的工具中逐步更改它们的“orderID”。我该如何实现?
搜索和替换只会一遍又一遍地用相同的值替换“orderID”,所以我不能使用它。还有其他技巧吗?
所以基本上,我想要这个:
<textfilecard orderID="1">
<textfilecard orderID="2">
<textfilecard orderID="3">
<textfilecard orderID="1">
<textfilecard orderID="2">
<textfilecard orderID="3">
...轻松地变成这样:
<textfilecard orderID="1">
<textfilecard orderID="2">
<textfilecard orderID="3">
<textfilecard orderID="4">
<textfilecard orderID="5">
<textfilecard orderID="6">
答案1
首先在菜单上点击插件 -> 插件管理,搜索 Python 脚本并安装,安装完成后点击插件 -> PythonScript -> 新建脚本,输入文件名,然后输入以下代码:
import re
counter = 0
def calculate(match):
global counter
counter += 1
return str(counter)
editor.rereplace('~', calculate)
代码~
用数字替换。(我修改了@Toto的代码,来自之前的回答)。
第二步,按Ctrl+ H。
- 找什么:
\d+
- 用。。。来代替:
~
- 搜索模式:正则表达式 点击全部替换。所有数字将被替换为
~
。
第三步,点击Plugin -> PythonScript,选择第一步创建的文件,所有~
都会被替换成数字,数字会依次递增。