A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨康 中级黑马   /  2012-7-11 19:42  /  2596 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨康 于 2012-7-12 17:18 编辑

为什么不同的字符串用同一个规则切割,得到的结果确实一样的?

222.jpg (51.55 KB, 下载次数: 85)

222.jpg

4 个回复

倒序浏览
":*"匹配一个或多个":"
"a::b::c"和"a::b::c::"按冒号切割
当然都是"a","b","c"
回复 使用道具 举报
因为去掉最后的冒号分隔符,你的字符串是一样的的。
回复 使用道具 举报
":*"是匹配0个或多个,":+"才是匹配1个或多个。。
你的两个表达式"a::b::c"和"a::b::c::"用冒号切割
结果都是{"a","b","c"}啊
回复 使用道具 举报
一开始以为用“:*”切割"a::b::c"会得到[a,b,c],切割"a::b::c::"会得到[a,b,c, ""],
后来看API知道split(String regex)方法的作用为:使用给定的表达式和限制参数 0 来调用两参数 split 方法,其中split方法中说明,切割所得数组中不包括结尾空字符串,所以切割结果是一样的,建议楼主看下API中String类的public String[] split(String regex, int limit)和public String[] split(String regex),API可是个好东西啊!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马