书写了一个简单版本的分割字符串
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
时间: 2024-10-12 17:21:06