String.split()应该怎么用?

在java.lang包中有String.split()方法,返回是一个数组。
“.”和“|”都是转义字符,必须得加”\”;
对于“.”是这样的:

public class test1 {

    public static void main(String[] args) {
        String str = "ABC.DEF";
        String[] value = str.split("\\.");
        for(String s : value){
            System.out.println(s);
        }
    }
}

输出结果是这样的:
这里写图片描述

对于“|”,如果是下面这样的,那就错了,看看运行效果:

public class test1 {

    public static void main(String[] args) {
        String str = "ABC|DEF";
        String[] value = str.split("|");
        for(String s : value){
            System.out.println(s);
        }

    }

}
![这里写图片描述](http://img.blog.csdn.net/20160908200245759)

是不是,那就已经不是你想要的了,应该下面这样写:

public class test1 {

public static void main(String[] args) {
    String str = "ABC|DEF";
    String[] value = str.split("\|");
    for(String s : value){
        System.out.println(s);
    }

}

}
这里写图片描述

如果分隔符是“\”,那我们写的时候必须是这样String str = “ABC\DEF”;分隔符应该这样写

public class test1 {

    public static void main(String[] args) {
        String str = "ABC\\DEF";
        String[] value = str.split("\\\\");
        for(String s : value){
            System.out.println(s);
        }

    }

}

这里写图片描述

|在java正则表达式就是一个特殊字符。\在Java字符串是特殊字符。
所以|是不能表达普通字符|在split()方法的。只能转义2次 。

String.split方法(以及其它类似的需要使用正则表达式的场合)
常见的需要回避“找抽”的字符有: , \ | ^ * + ? ( ) { } [ ] 等等
如果实在想用的话,在split之类需要正则表达式的地方,必须采用转义:
\\ = 转义后的 \
\. = 转义后的 .
\, = 转义后的 ,
\| = 转义后的 |
\^ = 转义后的 ^
\* = 转义后的 *

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值