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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 821728010 中级黑马   /  2013-6-3 12:21  /  1135 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 821728010 于 2013-6-5 20:16 编辑

public class MyDemo23 {
        public static void main(String[] args) {
                String str="zhangsan.lisi.wangwu";
                String reg="\\.";  
                String [] strs= str.split(reg);
                for (String s : strs){
                System.out.println(s);
                }
                }

}


如果用“,”分割的话reg设为“,就行了”。为什么用“.”分割必须写成“\\.”???

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

4 个回复

倒序浏览
本帖最后由 shiweiCao 于 2013-6-3 14:26 编辑

就是因为"." 在正则表达式中 是有特殊含义的
看分割这个方法的介绍:
声明: public String[] split(String s)
作用:  将字符串按照s进行切割,切割后的每一部分做为String数组的一个元素。        
在使用时注意正则的问题   这个点就是正则的一个表达式 , 代表任意字符, 你按照"."分割的话,那么最后的数组长度肯定是为0的.
我记得,前面有一个这样问题的帖子."\\." 就是java中的转义嘛,  特殊字符要输出是要转义的. 就是这个意思.

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
http://bbs.itheima.com/forum.php ... mp;page=1#pid344620   
  就是这个帖子, 这里的回答挺多的 . 你看看吧.    黑马云青年为您回复

评分

参与人数 2技术分 +1 黑马币 +3 收起 理由
袁梦希 + 1 很给力!
曹睿翔 + 3 赞一个!

查看全部评分

回复 使用道具 举报
split(reg)方法,API里写明了根据给定正则表达式的匹配拆分此字符串。“."这个字符在正则表达式的规范里也是需要通过转义字符去转义处理的,所以需要“\\.”这样写。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
友情提醒:问题解决的话,就再次编辑,及时改为已解决,方便大家查阅
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马