Java 正则表达式自义bean
1.因为jdk1.4以下String类未曾使用split 方法,所以为了能够在jdk1.3以下的版本使用,正义了如下类
package pubBean;
import java.util.*;
/**
*
*
Title:
*
Description:通过分解符分解由特定字符分开的字符串,并把返回一个数组如果
*
Copyright: Copyright (c) 2004
*
Company:
* @author 丁小龙
* @version 1.0
*/
public class Patten {
Vector arravl=new Vector();
String compchar;
public Patten() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
private Vector split(String src,String charat,String self){
int len=src.indexOf(charat);
if(len==-1&&src=../../=null)
return arravl ;
if(len==-1){
arravl.addElement(src);
return arravl;
}else
arravl.addElement(src.substring(0,len));
return split(src.substring(len+charat.length(),src.length()),charat,self);
}
public String[] split(String src,String charat){
arravl.removeAllElements();
Vector retvec=split( src,charat,"1");
if(retvec.size()==0||retvec==null)
return null;
String []arrret=new String[retvec.size()];
for(int i=0;i arrret[i]=(String)retvec.elementAt(i); } return arrret; } public void compile(String com){ this.compchar=com; } public String[] split(String src){ arravl.removeAllElements(); String comch=""; if(this.compchar==null){ comch=","; }else{ comch=this.compchar; } Vector retvec=split( src,comch,"1"); if(retvec.size()==0||retvec==null) return null; String []arrret=new String[retvec.size()]; for(int i=0;i arrret[i]=(String)retvec.elementAt(i); } return arrret; } private void jbInit() throws Exception { } } 2.用法 string mm=”aaaaaaaa,,,aaa,,,bbbb,,,ddddddd,,,mmm”; Patten p = new Patten(); p.compile(",,,"); String []arrspt=p. split(mm);

