0

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

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

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

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

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

4

1 回答 1

0

在 Notepad++ 中使用正则表达式替换。设置Find what to be\b(\w+)="String"Replace with to be \1="\1"。您可能需要调整单词的大小写String和大小写匹配复选框的设置。

解释。\b匹配什么是单词和什么不是单词之间的界限。(\w+)匹配一个或多个单词字符并将它们保存在捕获字段中。比赛="String"本身。在替换中\1插入保存的捕获字段;它与其他想要的字符一起插入两次。

如果以上内容替换了文件中的太多项目,则尝试搜索^_(\w+)="String"$并替换为_\1="\1";note_应替换为两个字符串中的单个空格,此处进行更改以清楚地显示应放置空格的位置。上面的解释适用,但另外^Find的开头匹配行的开头和行$尾的匹配。

于 2013-08-14T08:14:27.227 回答