2017-03-02 75 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