根据给定字符的匹配拆分此字符串。 (不支持正则表达式)
欢迎各位提出宝贵的意见和建议哈!
大家共同进步!
import java.util.ArrayList;
import java.util.Arrays;
public class StringReview {
public static String[] split(String original,String fgf){
String[] str=null;
ArrayList<String> list=new ArrayList<>();
int temp=0;//用于记录上一次分割的位置
int j=0;
for (int i=0;i<original.length();i++){
if (temp==0&&i==0){//如果original以想要分割的字符开头
j=temp;
}else {
j=temp+1;
}
if (fgf.equals(original.charAt(i)+"")){
temp=i;
list.add(original.substring(j,i));
}
}
str=(String[]) list.toArray(new String[0]);//ArrayList转字符串数组
return str;
}
public static void main(String[] args) {
String [] str=split("as*sdf*fsdaf*asdsd*111*a*","*");
for (int i=0;i<str.length;i++)
System.out.println(str[i]);
}
}
输出结果:
as
sdf
fsdaf
asdsd
111
a