split用法注意事项

         String[]  String.split(String),split方法用来分割解析一个字符串。今天在使用它的时候,因为一个小小的不注意,浪费了半个小时的时间。

 

 

        示例代码如下:

       public class Test {
            public static void main(String[] args) {
                     String init ="a$c$";
  
                      String[] strs = init.split("$");
 
                     System.out.println("length=" + strs.length);
             }
       }

 

    但却没有得到预期的结果。回头检查,半角全角没有问题。bug到底出在什么地方,将$换成#,结果可以得到预期结果。

   回头看JavaDoc, 原来split函数的参数是一个String类型的正则表达式,而正则表达式中有许多特殊字符,非常不幸,$正是其中的一个。

 

  将$换成//$,OK!

 

  其它特殊字符还有如下

 

字符

说明

^

匹配输入字符串的开始位置。要匹配 "^" 字符本身,请使用 "/^"

$

匹配输入字符串的结尾位置。要匹配 "$" 字符本身,请使用 "/$"

( )

标记一个子表达式的开始和结束位置。要匹配小括号,请使用 "/(" 和 "/)"

[ ]

用来自定义能够匹配 '多种字符' 的表达式。要匹配中括号,请使用 "/[" 和 "/]"

{ }

修饰匹配次数的符号。要匹配大括号,请使用 "/{" 和 "/}"

.

匹配除了换行符(/n)以外的任意一个字符。要匹配小数点本身,请使用 "/."

?

修饰匹配次数为 0 次或 1 次。要匹配 "?" 字符本身,请使用 "/?"

+

修饰匹配次数为至少 1 次。要匹配 "+" 字符本身,请使用 "/+"

*

修饰匹配次数为 0 次或任意次。要匹配 "*" 字符本身,请使用 "/*"

|

左右两边表达式之间 "或" 关系。匹配 "|" 本身,请使用 "/|"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值