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

字符串有关问题一

2012-09-04 
字符串问题一1.abc@def@mmm或@abc@def@mmm@拆分成数组,实现类似于String的split(@)方法,不能用string的

字符串问题一

1.abc@def@mmm或@abc@def@mmm@拆分成数组,实现类似于String的split("@")方法,不能用string的正则方法
下面是解决方案:

?

方案一:

public static String[] split(String s,String rex){System.out.println(s.length());if(s.indexOf(rex)!=-1&&s.length()>=1){long start=System.currentTimeMillis();List<String> list=new ArrayList<String>();int index=0;int tindex=0;while((tindex=s.indexOf(rex, index))!=-1){if(tindex==0){index++;continue;}else{String str=s.substring(index,tindex);if(str.equals("")){index++;continue;}list.add(str);index=tindex+1;if(s.indexOf(rex, index)==-1&&index!=s.length()){System.out.println(index);list.add(s.substring(index));}}}System.out.println(Arrays.toString(list.toArray()));long end=System.currentTimeMillis();System.out.println(end-start);return (String[]) list.toArray(new String[]{});}else{return null;}}

??方案二:

public static void main(String[] args) {//String str = "@@ab@c@@@@@@def@mmm@";String str = "ab@c@@@@@@def@mmm";String temp = "";boolean va = false;List<String> list = new ArrayList<String>();for(int i=0;i<str.length();i++){String s = str.substring(i, i+1);if(s.equals("@")){if(!temp.equals("")){list.add(temp);temp = "";}}else{temp += s;}//如果不为空if(i== str.length()-1 && !temp.equals("")) {list.add(temp);}}for(String st : list){System.out.println(st);}}

??

热点排行