论坛首页 Java企业应用论坛

能用正则表达式实现动态的查找替换吗?

浏览 1316 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2008-06-08  

要处理的字符串如下
<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:q0=\"http://www.cnpc.org/CNPC_Well_Mgr/\"><soapenv:Body><AcceptCancel><IDS><ID>123</ID><ID>456</ID><ID>789</ID></IDS><VERS><VER>ver123</VER><VER>ver456</VER><VER>ver789</VER></VERS><REASON>& #x5BA1;& #x6838;& #x672A;& #x901A;& #x8FC7;</REASON><USER_INFO><PARTY_ID>111111202000000067</PARTY_ID><PARTY_NAME>& #x859B;& #x8587;</PARTY_NAME><ORG_CODE>1500</ORG_CODE><ORG_NAME>& #x5206;& #x516C;& #x53F8;</ORG_NAME></USER_INFO><ACCEPT_TYPE>00</ACCEPT_TYPE></AcceptCancel></soapenv:Body></soapenv:Envelope>

我想用正则表达式查找到& #x5BA1;这种类型的字符串,并且用\u替换掉& #x,即最终得到的是\u5BA1这样串,同时要将;号删除。
查找时我用的匹配模式是:([0-9A-F]{4});这样可以定位到汉字。但在替换的时候,我无法针对每个匹配的汉字取出类似5BA1这样的串用来动态的替换。
直观点的表示就是:& #x5BA1;& #x6838;& #x672A;& #x901A;& #x8FC7; -->
\u5BA1\u6838\u672A\u901A\u8FC7
大家给点想法吧,谢谢!


论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics