<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解析器来实现。