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

时间: 2024-10-12 17:21:06

java简单分割字符串内部实现的相关文章

java 竖线分割字符串的问题

java 竖线分割字符串的问题 例1: String[] paraStr = "6010;320100;A".split(";"); System.out.println(Arrays.toString(paraStr));输出:[6010, 320100, A] Ok 例2: String[] paraStr = "6010|320100|A".split("|"); System.out.println(Arrays.to

java split 分割字符串用法

在java.lang包中有String.split()方法,返回是一个数组.   1.“.”和“|”都是转义字符,必须得加"\\"; 如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|

Java中分割字符串

java.lang.String 的 split() 方法, JDK 1.4 or later public String[] split(String regex,int limit) 示例代码 public class StringSplit { public static void main(String[] args) { String sourceStr = "1,2,3,4,5"; String[] sourceStrArray = sourceStr.split(&quo

java以“.”分割字符串

string.sprit以点分割String.split("\\.");

关于java中分割字符串

例子:String path = "123.456.789"; 如果要使用"."将path分割成String[], path.split("//."); or path.split("//."); split中传入的是正则表达式,则需要对特殊符号进行转义,但是在实际使用过程中,有时会出现无法分割的情况. 可以使用org.apache.commons.lang.StringUtils.split(path,".&quo

Android--split()分割字符串特殊用法

split()分割字符串 1.不同环境下的区分 Java:分割字符串不能写成split("$")//$为要分割的字符Android:分割字符串需要加上中括号split("[$]")//$为要分割的字符 2.特殊用法--当split()分割字符串遇上特殊符号 案例分析 1 String str = "abc|dfg"; 2 3 String[] all=str.split("|"); 4 5 system.out.println

java关于split分割字符串,空的字符串不能得到的问题

java关于split分割字符串,空的字符串不能得到的问题 class T { public static void main(String args[]) { String num[] = new String[11]; String sLine = "101494|360103660318444|2008/06/17|周润英|1292.0|3085.76|2778.28|912.91|106.0|||"; num = sLine.split("\\|"); in

js,java,jstl多分隔符分割字符串

1.js多分隔符 分割字符串 var username = “zhao,li;wang.liu”: var arr = str.split(/;|:|,|,|./);  括号里面可以写多分割符号,中英文均可,注意每个分割符之间用"|"隔开, 如果是特殊分割符号,如点,加号,必须使用转义字符表示 如 str.split(".") 应该写成 str.split([.]); 2.java多分隔符 分割字符串 String[] name = str.split("

java传入一个字符串 将它分割成大写字符为首的字符串数组

/* * 传入一个字符串 将它分割成大写字符为首的字符串数组 */ private ArrayList<String> splitByUpperCase(String str) { ArrayList<String> rs = new ArrayList<String>(); int index = 0; int len = str.length(); for (int i = 1; i < len; i++) { if (Character.isUpperCas