首页 > 代码库 > java简单分割字符串内部实现

java简单分割字符串内部实现

书写了一个简单版本的分割字符串

 1 private static String[] mysplit(char[] myString, char c) {
 2         // TODO 自动生成的方法存根
 3         int count=0;///统计分割符号出现的次数
 4         ///第一次遍历,统计分割符号出现的次数,那么返回的字符串数组就应该是分割数+1
 5         for (int i = 0; i < myString.length; i++) {
 6              if (myString[i]==c) {
 7                 count++;
 8             }
 9         }
10         ////头尾分隔符删去
11         if (myString[0]==c) {
12             count--;
13         }
14         if (myString[myString.length-1]==c) {
15             count--;
16         }
17         ///返回stirng[]
18         String[] retrunstring=new String[count+1];
19         int index=0;
20         StringBuffer sbBuffer=new StringBuffer();
21         for (int i = 0; i < myString.length; i++) {
22             if (i==0) {  
23                 ///第一个要是分隔符,直接不管
24                 if (myString[0]!=c) {
25                     sbBuffer.append(myString[i]);
26                 }
27             }
28             ///中间的好处理
29             if (i!=0&&i!=myString.length-1) {
30                 if (myString[i]!=c) {
31                     sbBuffer.append(myString[i]);
32                 }
33                 else {
34                     retrunstring[index]=sbBuffer.toString();
35                     sbBuffer=new StringBuffer();
36                     index++;
37                 }
38             }
39             ///尾部处理
40             if (i==myString.length-1) {
41                 if (myString[myString.length-1]!=c) {
42                     sbBuffer.append(myString[i]);
43                 }
44                 retrunstring[index]=sbBuffer.toString();
45             }
46         }
47         return retrunstring;
48     }

测试main函数

  public static void main(String[] args) {
        String myString=" a b efg ";
        String[] ss=mysplit(myString.toCharArray(),‘ ‘);
        for (int i = 0; i < ss.length; i++) {
            String string = ss[i];
            System.out.println(string);
        }
    }

最后结果:

a
b
efg

java简单分割字符串内部实现