String .split完整测试

数据库中有一个字段是用逗号拼接的,每个字段都是另一个表中的主键,需要查询子元素,或者给这个逗号拼接的字段删减元素时,就会有比较复杂的字符串解析。

为此,先测试了String提供的split方法。

可以看到,元素之前的逗号都被认为是分隔符,劈开后进了字符串数组;

           而之后的逗号被抛弃。

        所以在做字段解析时,应该把重点放在“去除前面的逗号”,这样才能保证字符串数组的素值是那个表的主键,而不是空串。

@Test
    public void testSplit() {
        String str1 = "1,2,3";
        String[] strArr1 = str1.split(",");
        String str2 = "1,2,";
        String[] strArr2 = str2.split(",");

        String str3 = ",2,3";
        String[] strArr3 = str3.split(",");

        String str4 = ",";
        String[] strArr4 = str4.split(",");

        String str5 = ",,";
        String[] strArr5 = str5.split(",");

        String str6 = ",,6";
        String[] strArr6 = str6.split(",");

        String str7 = "7,,";
        String[] strArr7 = str7.split(",");

        String str8 = ",8,";
        String[] strArr8 = str8.split(",");

        System.out.println("str1="+str1);
        for (int i = 0; i <strArr1.length; i++) {
            System.out.println("strArr1["+i+"]="+strArr1[i]);
        }
        System.out.println("**************************************");

        System.out.println("str2="+str2);
        for (int i = 0; i <strArr2.length; i++) {
            System.out.println("strArr2["+i+"]="+strArr2[i]);
        }
        System.out.println("**************************************");

        System.out.println("str3="+str3);
        for (int i = 0; i <strArr3.length; i++) {
            System.out.println("strArr3["+i+"]="+strArr3[i]);
        }
        System.out.println("**************************************");

        System.out.println("str4="+str4);
        for (int i = 0; i <strArr4.length; i++) {
            System.out.println("strArr4["+i+"]="+strArr4[i]);
        }
        System.out.println("**************************************");

        System.out.println("str5="+str5);
        for (int i = 0; i <strArr5.length; i++) {
            System.out.println("strArr5["+i+"]="+strArr5[i]);
        }
        System.out.println("**************************************");

        System.out.println("str6="+str6);
        for (int i = 0; i <strArr6.length; i++) {
            System.out.println("strArr6["+i+"]="+strArr6[i]);
        }
        System.out.println("**************************************");

        System.out.println("str7="+str7);
        for (int i = 0; i <strArr7.length; i++) {
            System.out.println("strArr7["+i+"]="+strArr7[i]);
        }
        System.out.println("**************************************");

        System.out.println("str8="+str8);
        for (int i = 0; i <strArr8.length; i++) {
            System.out.println("strArr8["+i+"]="+strArr8[i]);
        }

/**
str1=1,2,3
strArr1[0]=1
strArr1[1]=2
strArr1[2]=3
**************************************
str2=1,2,
strArr2[0]=1
strArr2[1]=2
**************************************
str3=,2,3
strArr3[0]=
strArr3[1]=2
strArr3[2]=3
**************************************
str4=,
**************************************
str5=,,
**************************************
str6=,,6
strArr6[0]=
strArr6[1]=
strArr6[2]=6
**************************************
str7=7,,
strArr7[0]=7
**************************************
str8=,8,
strArr8[0]=
strArr8[1]=8
*/

    }

二、给老字符串里加入新元素

 

三、删掉老字符串里的某元素

时间: 2024-10-10 02:35:57

String .split完整测试的相关文章

Java String.split()用法小结

它是java.lang包中的String.split()方法,返回是一个数组 总结一下,仅供大家参考:1.如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");2.如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|");“.”和“|”都是转义字符,

Java String.split()用法总结整理

在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: 1.如果用"."作为分隔的话,必须是如下写法,String.split("\\."),这样才能正确的分隔开,不能用String.split("."); 2.如果用"|"作为分隔的话,必须是如下写法,String.split("\\|"),这样才能正确的分隔开,不能用String.s

String.split()用法小結(轉載)

在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: 1.如果用"."作为分隔的话,必须是如下写法,String.split("\\."),这样才能正确的分隔开,不能用String.split("."); 2.如果用"|"作为分隔的话,必须是如下写法,String.split("\\|"),这样才能正确的分隔开,不能用String.s

Lua 自定义函数string.split

function string.split(str, delimiter)    if str==nil or str=='' or delimiter==nil then        return nil    end        local result = {}    for match in (str..delimiter):gmatch("(.-)"..delimiter) do        table.insert(result, match)    end    r

String.split()用法以及特殊分隔符注意,ps:|

转载:http://www.cnblogs.com/mingforyou/archive/2013/09/03/3299569.html 在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: 1.如果用“.”作为分隔的话,必须是如下写法,String.split("\\."),这样才能正确的分隔开,不能用String.split("."); 2.如果用“|”作为分隔的话,必须是如下写法,Str

java String.split方法是用注意点(转)

转自:http://www.blogjava.net/fanyingjie/archive/2010/08/05/328059.html 在java.lang包中有String.split()方法,返回是一个数组我在应用中用到一些,给大家总结一下,仅供大家参考: 1.如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split("."); 2.如果用“|”作为分隔的话,必须是如下写法:Stri

分享一个 Java String split 快速分割的方法

java中string.split() 方法比较强大,但是split()方法采用正则表达式,速度相对会慢一点, 其实大多数场景下并不需要使用正则表达式,下面分享一个不使用正则表达式分隔字符串的方法. 方法保证了和 string.split()的输出结果一致. 直接看代码: public static String[] split(String src,String delimeter){ String srcStr = src; String delimeterStr = delimeter;

字符串分割--java中String.split()用法

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

String.split引发的“内存泄露”

一直赞叹Sun对待技术的严谨和优雅(bless Sun).Sun JDK中Java库的源代码,连注释都清清楚楚.规规范范,javadoc注解的使用也一丝不苟,读起来很熟舒服.因此,在日常工作和学习中,经常读读 Java库的源代码,不亦乐乎?如果遇到诡异问题,源代码的帮助就更大了. 闲话少说,回归正题.这几天,一直在为Java的“内存泄露”问题纠结.Java应用程序占用的内存在不断的.有规律的上涨,最终超过了监控阈值. 福尔摩斯不得不出手了! 说起Java的内存泄露,其实定义不是那么明确.首先,如