【问题标题】:regex to find xml element & replace [duplicate]正则表达式查找xml元素并替换[重复]
【发布时间】:2017-07-22 13:26:46
【问题描述】:

我有一个这种数据格式的xml文件

    <row Id="9" Body="aaaaaaaaa" Target="123456" />

我想用我的 xml 文件中的空格查找并替换所有 Body="" 东西。那是什么正则表达式?

【问题讨论】:

标签: regex xml replace find


【解决方案1】:

有很多可能性,这里有一种方法可以从Body属性中删除内容

(<row.*Body=").*?("[^>]+>)

这将为Body 属性之前和之后的内容创建两个捕获组。然后,您只需使用这些捕获组进行替换:

$1$2

它会变形:

<row Id="9" Body="aaaaaaaaa" Target="123456" />

进入:

<row Id="9" Body="" Target="123456" />

你可以看到它在工作here

【讨论】:

  • 你能给出一个正则表达式来只找到那个元素吗?我可以用我的文本编辑器替换它
  • 对不起,我不明白你的意思。你只想找到一个元素?有什么特点?从您的问题来看,您似乎想查找所有具有空 Body 属性的元素。
  • 是的,这就是我想要的。我有一个超过 20GB 的数据集。这就是为什么我想删除这个 Body 元素数据。我用文本编辑器试过你的答案,但没有用
  • 哦,好吧,我想我明白了——像这样? regex101.com/r/k2Y5zN/1 在 Substitution 面板中,我使用 $1$2 作为替换,所以你可以看到它把 &lt;row Id="9" Body="aaaaaaaaa" Target="123456" /&gt; 变成了 &lt;row Id="9" Body="" Target="123456" /&gt;
  • 这正是我想要的。如果您也可以使用此代码编辑答案,那就太好了
猜你喜欢
  • 1970-01-01
  • 2012-06-17
  • 2010-11-23
  • 1970-01-01
  • 2012-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多