黑马程序员技术交流社区

标题: . [打印本页]

作者: 冯祖焱    时间: 2012-2-16 12:09
标题: .
本帖最后由 冯祖焱 于 2017-8-16 09:54 编辑

                                                             .
作者: 李杨    时间: 2012-2-16 12:12
public static void main(String[] args)
        {
                String s="akjg,lkdjls,kfk";

                String[] str=s.split(",");

                System.out.println(str.length);

                for (int i=0;i<str.length ;i++ )

                {

                        System.out.println(str[i]);

                }

        }

======================

输出结果
3
akjg
lkdjls
kfk
作者: 彭小芳    时间: 2012-2-16 12:15
split是通过给定的正则表达式来切割的,不是字符串

在正则表达式中, "." 代表任意单个字符,
所以楼主若想以"."来切割的话,就应该用加转意符

所以答案是.split("\.")
由于\在字符串中会被当成转意符,所以要给\加个\转意一下,所以就是split("\\.").

不知道楼主是不是这个意思
作者: 李杨    时间: 2012-2-16 12:16
不好意思,刚才没注意!!!

        public static void main(String[] args)
        {
                String s="akjg.lkdjls.kfk";

                String[] str=s.split("\\.");

                System.out.println(str.length);

                for (int i=0;i<str.length ;i++ )

                {
                       System.out.println(str[i]);
                }
        }

那个是正则表达式,‘。’在正则里代表任何字符的意思。

需要转义。。
作者: 冯祖焱    时间: 2012-2-16 16:34
李杨 发表于 2012-2-16 12:16
不好意思,刚才没注意!!!

        public static void main(String[] args)

谢谢兄弟,我弄明白了
作者: 冯祖焱    时间: 2012-2-16 16:34
pengfangjava 发表于 2012-2-16 12:15
split是通过给定的正则表达式来切割的,不是字符串

在正则表达式中, "." 代表任意单个字符,

谢谢兄弟,我弄明白了
作者: 王康    时间: 2012-2-17 10:43
学习到一个知识点:
split是通过给定的正则表达式来切割的,不是字符串
在正则表达式中, "." 代表任意单个字符,
所以楼主若想以"."来切割的话,就应该用加转意符
由于\在字符串中会被当成转意符,所以要给\加个\转意一下,所以就是split("\\.").
受益匪浅.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2