我在字符串中有一些XML,並希望用「」替換所有id屬性值,其中id屬性值以「widget」開頭。使用Java模式的一些字符和數字的正則表達式
這是我輸入的xml:
<panel height="24" id="sd1" layout="vertical" left_padding="12" spacing="12" stereotype="directions" width="790" x="0" y="79">
<text_widget halign="left" id="widget5019721000" width="761"/>
<text_widget halign="left" id="widget5019501000" width="761"/>
<text_widget halign="left" id="widget5019711000" width="761"/>
<text_widget halign="left" id="widget5019752000" width="761"/>
</panel>
和輸出XML應該有如下:
String xmlStr = this.getXmlString();
Pattern pattern = Pattern.compile(xmlStr);
Matcher matcher = pattern.matcher(\"id="widget[0-9]\");
怎麼辦:
<panel height="24" id="sd1" layout="vertical" left_padding="12" spacing="12" stereotype="directions" width="790" x="0" y="79">
<text_widget halign="left" id="" width="761"/>
<text_widget halign="left" id="" width="761"/>
<text_widget halign="left" id="" width="761"/>
<text_widget halign="left" id="" width="761"/>
</panel>
我用下面的代碼嘗試我在Java中使用正則表達式來執行此操作嗎?
有你處理XML與正則表達式的一個原因?使用XML有更好的方法。 – JLRishe
使用正則表達式來修改xml不是一個好主意。嘗試使用XML解析器,可能Java DOM解析器是最適合你的 – Mircea