<enclosure length="30367" type="image/jpeg" leadimage="true" caption="aaa" url="http://link1.jpg" />

 <enclosure length="30367" type="image/jpeg" leadimage="false" caption="bbb" url="http://link2.jpg" />


我如何更改字符串,所有这行:

 <enclosure length="30367" type="image/jpeg" leadimage="true" caption="aaa" url="http://link1.jpg" />


至:

<enclosure>image/jpeg\ntrue\naaa\nhttp://link1.jpg</enclosure>

最佳答案

如果这些标记始终严格遵循这种格式,并且属性将永远不会包含转义的引号字符,那么您可能会不满意

String resultString = subjectString.replaceAll(
    "(?x)<enclosure\\s+\n" +
    "length=\"\\d+\"\\s+\n" +
    "type=\"([^\"]+)\"\\s+\n" +
    "leadimage=\"([^\"]+)\"\\s+\n" +
    "caption=\"([^\"]+)\"\\s+\n" +
    "url=\"([^\"]+)\"\\s*\n" +
    "/>", "<enclosure>$1\r\n$2\r\n$3\r\n$4</enclosure>");


但是,肯定有更好的方法可以使用XML解析器来实现。

07-28 00:34