首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java正则对内容进展分析替换

2012-12-23 
java正则对内容进行分析替换  我们在项目中常用到java正则对文本内容进行分析替换,有时虽然只是简单的一行

java正则对内容进行分析替换

  我们在项目中常用到java正则对文本内容进行分析替换,有时虽然只是简单的一行replace代码,却无不用到正则。这里java正则的语法将不再述说,重点说说如何对匹配的内容进行替换操作。  

  这里拿上一篇文章中的自定义标签作为例子来进行说明

?

下面是具体代码如何去匹配和替换

  String regx = "\\{xxx:arclist([^\\}]*)\\}(.*?)\\{/xxx:arclist \\}";??Pattern p = Pattern.compile(regx);?? ??Matcher m = p.matcher(content);            // content为你要分析的文本内容??String groupStr = null;                    // 匹配参数条件组??String groupStr1 = null;                   // 匹配内部属性标签??String[] paramsStr = null;                 // 获取参数数组??StringBuffer sb = new StringBuffer();?? ??StringBuffer sb_1 = new StringBuffer();?? ??? ??while(m.find()){?? ???? // 标签对获取数据,然后条件查询?????groupStr = m.group(1).trim();                       // 去掉首尾空格???? groupStr = groupStr.replaceAll("\\s+"," ");         // 把多个空格替换成一个???? paramsStr = groupStr.split(" ");                    // 以空格分组成一数组??????? /**???    * 这里的paramsStr 就是己获得的参数,扔给你获取数据的方法去解析并返回想要的结果集 listBean??     */? ??? ???? // 标签对内部内容???? groupStr1 = m.group(2);?? ???? String str_1 = "";???????????????????????????????????// 用于一条数据替换后的结果   ? Pattern p_1 = Pattern.compile("\\[xx:([^\\]]*\\]");?????? for( objectBean bean :listBean){?? ???????????? Matcher m_1 = p_1.matcher(groupStr1);?? ???????????? while(m_1.find()){?? ??????????????? /**???????          * 这里把每一个属性标签中应放的值value取出???????          */? ??????????????? // 把属性标签替换成相应的数据??????????????? if(value == null){?? ????????????????? m_1.appendReplacement(sb_1,"");?????????? ??????????????? }else{?? ????????????????? m_1.appendReplacement(sb_1,value.toString());?? ??????????????? }?? ???????????? }?? ??????? m_1.appendTail(sb_1);              // 把属性标签替换后放入sb_1中        str_1 += sb_1;                     // 把一条数据替换后都入str_1中??????? sb_1.delete(0, sb_1.length());     // 这里清空内容是为下组标签对准备?? }?? ??? m.appendReplacement(sb, str_1);?? ??}? 

?

这样我们就己把所要分析的内容己全部分析和替换完成了,sb就是分析和替换全部完成后的内容。

热点排行