java 正则表达式自义bean
1.因为jdk1.4以下string类未曾使用split 方法,所以为了能够在jdk1.3以下的版本使用,正义了如下类
package pubbean;
import java.util.*;
/**
*
* <p>title: </p>
* <p>description:通过分解符分解由特定字符分开的字符串,并把返回一个数组如果 </p>
* <p>copyright: copyright (c) 2004</p>
* <p>company: </p>
* @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<retvec.size();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<retvec.size();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);
闽公网安备 35060202000074号