About UBB with java has a bug.

80酷酷网    80kuku.com

  ubb// the bug has been fixed
/*+-------------------------------
    $REReplace.java 2001-9-4
    $author pizer.chen
    $history:
        0.2 fixed a bug.
        0.1 ...
+-------------------------------*/
package com.wacos.util.ubb;

import java.io.*;
import java.util.*;
import org.apache.regexp.*;
/**
*
* author  Pizer.chen -- iceant -- 陈鹏
* version 0.2
*/
public class REReplace
{
    /**
     * replace the inStr with pattern1 & pattern2
    **/
    public static String replace(String pattern1,String pattern2,String inStr){
        try {
            RE re = new RE(pattern1);
            RE re2 = new RE("\\$([0-9])");
            String tempPat2=pattern2;
            int point=0;
            while(re.match(inStr)){
                while(re2.match(pattern2)){
                    point = Integer.parseInt(re2.getParen(1));
                    pattern2=re2.subst(pattern2,re.getParen(point),RE.REPLACE_FIRSTONLY);
                }
                inStr = re.subst(inStr,pattern2,RE.REPLACE_FIRSTONLY);
                pattern2 = tempPat2;
            }
            return inStr;
        }
        catch (Exception e) {
            System.out.println(e);
            return e.toString();
        }  
    }
}    



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: