黑马程序员技术交流社区

标题: 分享一道题,问一下大神split()方法 [打印本页]

作者: Fate_stay    时间: 2016-9-28 22:37
标题: 分享一道题,问一下大神split()方法
题目:  1.有一个字符串"woaijavahahajavaaiwo"删除该字符串中所有的"java"并且统计删除了多少个“java”
我做出来了,但是不知道为什么,在字符串两头的java,还有连在一起的java,split方法居然都能将他们拆开,并且能成功得到结果,这是为什么? split方法原理求解
public class Prictice10_1 {
        public static void main(String[] args) {
                String str = "javajavawoaijavahahajavaaiwo";
                String[] str_arr = str.split("java");
                int num = str_arr.length - 1;
                System.out.println("删除了"+num+"个java");
        }
}


作者: pdog    时间: 2016-9-28 22:53
在末尾添加 会失效的,做这种题 还是用indexOf吧,这个底层是ArrayList的集合
作者: &天马星空ぁ    时间: 2016-9-28 22:55
本帖最后由 &天马星空ぁ 于 2016-9-28 23:28 编辑

你这样写的返回值的意识就是说  切割的次数是总个数-1,  如  切割一次,就是两段   切割两次  就是三段    所以切割的此时就是段数-1,也就是数组的长度-1
或者你也可以这样写
[Java] 纯文本查看 复制代码
String str = "javajavawoaijavahahajavaaiwo";
                String s=str.repaceAll(java,"");
                int num = str.length()-s.length;                System.out.println(num/4);






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