java分割字符串

来源:百度知道 编辑:UC知道 时间:2024/05/03 03:10:47
函数f(char *str,char del)的功能是;将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。 例如若str的值为“33a123333435”,del的值为‘3’,调用此函数后,将在标准输出打印三个子字符串,分别为“a12”、“4”和“5”。
注:可能用到的字符串参考函数有String substring(int beginIndex, int endIndex),char charAt(int index);如果使用Java编程,只允许使用字符串类String等基本的方法和类,不允许使用java某些特有类以及这些类自带的方法,如java.lang.string.split类。

public String f(String str,char del){
String tem;
ArrayList<String> list=new ArrayList<String>();
for(int i=0;i<str.length;i++){
int index=str.indexOf(del);
tem=str.substring(0,index);
if(!tem.equals(""))
list.add(tem);
str=str.substring(index+1,str.length-(index+1));
}
for(String s :list)
System.out.print(s);
}

indexOf()能用吗?
f(char str,char del){
for(int i=str.length();i>0;i--){
int index = str.indexOf(del); //得到del在str中的位置
if(index!=-1){ //此位置存在
if(!"".equals(substring(0,index))){//若str串中此位置前的子串不空
System.out.print(substring(0,index));//打印此子串
}
}else{//若此位置不存在
if(!"".equals(str)){此时str串不为空
System.out.println(str);打印串
}
break;否则认为str已经处理完毕,跳出for
}
str = substring(index+1,str.length());//将已经被打印的串+本次循环中index标记的del剪去,得到新的str串
}

}
来网吧上的网,没环境,应该能实现,但是觉得这样没什么