Java实现字符串分割算法split(String,char),比如调用split("abcbebb",'b')结果为["a","c","e"]
public class SplitTest {
public static void main(String[] args) {
split("bbaabccbebb", 'b');
}
public static void split(String str, char c) {
List<String> strList = new ArrayList<>();
int start = 0;
for (int i = 0; i < str.length(); ) {
char sc = str.charAt(i);
if (c == sc) {
if (start < i) {
System.out.println("添加的元素为:" + str.substring(start, i));
strList.add(str.substring(start, i));
}
start = ++i;
} else {
i++;
}
}
// start是根据c计数,不是以c结尾的str在这里加个判断
if (start < str.length()) {
System.out.println("添加的元素为:" + str.substring(start, str.length()));
strList.add(str.substring(start, str.length()));
}
System.out.println(strList.toString());
}
}
输出结果:
添加的元素为:aa
添加的元素为:cc
添加的元素为:e
[aa, cc, e]