【问题标题】:Replace multiple attribute values at once一次替换多个属性值
【发布时间】:2023-03-17 23:27:02
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: xml replace expression notepad++


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-31
      • 2021-05-16
      • 2011-07-23
      • 2012-11-15
      • 2021-05-13
      相关资源
      最近更新 更多