一次替换多个属性值

时间:2013-08-13 19:13:35

标签: xml replace expression notepad++

我有一个相当大的XML文档,其中包含多个属性。所有属性当前都具有“String”的值,因为它是没有实际数据的示例文件。所以文件看起来像这样:

<Message>
 target="String"
 type="String"
 date="String"
 etc. etc.
>

有没有办法用“=”之前出现的属性名替换“String”的每个实例?所以每个属性都是这样的:

<Message>
 target="target"
 type="type"
 date="date"
 etc. etc.
>

这是否可以在Notepad ++中使用正则表达式?还是用别的东西?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

在Notepad ++中使用正则表达式替换。将查找内容设置为\b(\w+)="String",将替换为设置为\1="\1"。您可能需要调整单词String的大小写以及匹配大小写复选框的设置。

解释。 \b匹配单词和非单词之间的边界。 (\w+)匹配一个或多个单词字符并将其保存在捕获字段中。 ="String"匹配自己。在替换中,\1插入已保存的捕获字段;它会与其他想要的字符一起插入两次。

如果以上内容替换了文件中过多的项目,请尝试搜索^_(\w+)="String"$并替换为_\1="\1";注意_应替换为两个字符串中的单个空格,这里是为了清楚地显示应放置空间的位置。以上说明适用,但查找内容一开始的^与行的开头匹配,$匹配行的末尾。