2017-03-02 54 views
-1

我有这个数据格式正则表达式来查找XML元素和替换

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

我想找到&从我的XML文件中的空格替换所有Body=""事物的XML文件。这是什么正则表达式?

+1

不要使用正则表达式解析XML;使用真正的解析器。请参阅[**如何使用Java?**检索XML的元素值](http://stackoverflow.com/questions/4076910/how-to-retrieve-element-value-of-xml-using-java)或[ **如何在Java中使用XPath读取XML **](http://stackoverflow.com/questions/2811001/how-to-read-xml-using-xpath-in-java) – kjhughes

回答

0

有很多可能性,这里是删除从Body内容属性

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

这对于之前的内容和Body属性之后创建两个捕获组的一种方式。然后,你只需要使用那些捕获组的更换:

$1$2 

这将改变:

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

分为:

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

你可以看到它的工作here

+0

您可以只给一个正则表达式找到那个元素?我可以用我的文本编辑器替换它 – DilumN

+0

对不起,我不明白你的意思。你只想找到一个元素?具有什么特点?从你的问题看来,你似乎想找到所有具有空的“Body”属性的元素。 – nickb

+0

是的,这是我想要的。我有一个超过20GB的数据集。这就是为什么我想删除这个Body元素数据。我用文本编辑器试过了你的答案,但没有工作 – DilumN