黑马程序员技术交流社区

标题: woaijavahahajavaaiwo" 删除该串中所有"java“,并计数有几个 [打印本页]

作者: 灵活的胖子    时间: 2016-10-14 22:36
标题: woaijavahahajavaaiwo" 删除该串中所有"java“,并计数有几个
老师说这题的解题方法用一行代码就能写出来,求大神指点怎么写?
作者: Jerry007    时间: 2016-10-14 22:53
public class Test5 {

        /**
         * "woaijavahahajavaaiwo" 删除该串中所有"java“,并计数有几个
         */
        public static void main(String[] args) {
                String s = "woaijavahahajavaaiwo";
                String regex = "java";                        //定义一个正则表达式
                String[] arr = s.split(regex);        //用split()方法进行切割字符串
                int a = (arr.length - 1);                //字符串被切成三段,所以java共有2个
                System.out.println("该字符串中包含的java有"+ a + "个");
        }
}

不过用spilt()方法有一个不好的地方,如果是"javajava"这种形式的话,用java正则去切的话会全部切没.
所以可以将javajava ""字符串后面加个空格,这样切出来几段字符串,然后减1就是字符串中包含java小串的个数了.代码如下:

public class Test5 {

        /**
         * "woaijavahahajavaaiwo" 删除该串中所有"java“,并计数有几个
         */
        public static void main(String[] args) {
                String s = "javajavawoaijavahahajavaaiwojavajava";
                String s2 = s + " ";
                String regex = "java";                        //定义一个正则表达式
                String[] arr = s2.split(regex);        //用split()方法进行切割字符串s2
                int a = (arr.length - 1);                //字符串被切成arr.length段,所以java共有arr.length - 1个
                System.out.println("该字符串中包含的java有"+ a + "个");
        }
}





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