亲宝软件园·资讯

展开

Java split函数用法

专打瘸子那条好腿 人气:0

只写经常使用的,并不完整。

1.基本用法,将字符串按照指定字符串进行分割,例如:

public class Main {
    public static void main(String[] args) {
        String ss = "abcabcdefg";
        String[] split = ss.split("bc");
        for(String st:split){
            System.out.println(st);
        }
        System.out.println("分隔后字符串数组长度为");
        System.out.println(split.length);
    }
}

输出:

a
a
defg
分隔后字符串数组长度为
3

2.需要使用多个字符进行分割:使用split("[]"),其中[]里面存放需要分割的字符,注意,现在是按照字符来分割,例如:

public class Main {
    public static void main(String[] args) {
        String ss = "abcabcdefg";
        String[] split = ss.split("[bc]");
        for(String st:split){
            System.out.println(st);
        }
        System.out.println("分隔后字符串数组长度为");
        System.out.println(split.length);
    }
}

输出:

a

a

defg
分隔后字符串数组长度为
5

原因是将b和c都当作分割的字符。

用法其实上面两条差不多就可以了,重要的是一些特殊情况:

情况1:字符串中有连续的分割符,例如2中,b也是分割符c也是分隔符,那么在分割bc时会产生一个空字符(""),n个连续的分割符会产生n-1个空字符。下面是调试时的信息:

可以看到中间产生了空字符。

情况2:分割符出现在首部,那么出现几个分割符,就有多少个空字符。例如

public class Main {
    public static void main(String[] args) {
        String ss = "aaabcabcdefg";
        String[] split = ss.split("[a]");
        for(String st:split){
            System.out.println(st);
        }
        System.out.println("分隔后字符串数组长度为");
        System.out.println(split.length);
    }
}

输出:


bc
bcdefg
分隔后字符串数组长度为
5

前面3个a都是空字符。

情况3:有些正则表达式,这是一种特殊情况,如,*等符号需要添加转义字符\。

解决方法:

针对出现空字符,可以写一个遍历,长度为0的过滤掉。

for(String st:split){
            if(st.length()>0){
                list.add(st);
            }
        }

针对转义字符,编译器会报错,就试试添加\。

补充:Java中Split函数的用法技巧

在java.lang包中也有String.split()方法,与.net的类似,都是返回是一个字符型数组,但使用过程中还有一些小技巧。

如执行:"2|33|4".split("|")

出来的结果是:

""

2

|

3

3

|

4

奇怪吧,不过注意看一下API说明还是知道原因的.

java.lang.string.split

split 方法

将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

stringObj.split([separator,[limit]])

参数

说明

split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解

所以正常的写法是这样的:

1、如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");

2、如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|");
“.”和“|”都是转义字符,必须得加"\\";

3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“a=1 andb =2 or c=3”,把三个都分隔出来,可以用String.split("and|or");

总结

加载全部内容

相关教程
猜你喜欢
用户评论