黑马程序员技术交流社区

标题: 大串删小串问题 [打印本页]

作者: kangnam    时间: 2016-9-16 23:45
标题: 大串删小串问题
package com.practice;
/*
* 有一个字符串"woaijavahahajavaaiwo"删除该字符串中所有的"java"并且统计删除了多少个“java”
* */
public class DeleteNumber {
        public static void main(String[] args) {
               
                String s ="woaijavahahajavaaiwo";
                String s1 ="java";
                int num = 0 ;
                //获取第一次出现的索引
                int index =s.indexOf(s1);
                //不存在这样的子串返回-1
                while(index!=-1){
                        num++;
                        //截取新的字符串从索引加上子串长度开始
                        s = s.substring(index+s1.length());
                        index =s.indexOf(s1);
                }
                System.out.println("共删除了"+num+"个");
        }
}
有其他方法欢迎分享。
作者: 15835811325    时间: 2016-9-16 23:57
public static void main(String[] args) {
                String s = "woaijavahahajavaaiwo";
                String str = "java";
                /*int count = 0;  //计数器
                int Index = 0;        //大串索引
                int fromIndex =0;         //指定从那里开始查找的位置的索引
                while ((Index = s.indexOf(str, fromIndex))!= -1){
                        count++;
                        fromIndex = Index + str.length();
                }
                System.out.println(count);*/
                int Index = 0;  //定义索引
                int count = 0;        //计数器
                while ((Index = s.indexOf(str))!=-1){//如果大串查找返回的索引 不等于-1
                        //indexof 返回传入的字符串在调用的字符串中出现的位置
                        count++;//计数器自增
                        s = s.substring(Index +str.length());
                        //截取查找到小串位置的索引加上小串的长度之后的部分
                }
                System.out.println(count);
        }

}
两种方法
作者: ancheng    时间: 2016-9-17 10:22
[Java] 纯文本查看 复制代码
/**
*
* @author AnCheng
* 有一个字符串"woaijavahahajavaaiwo"删除该字符串中所有的"java"并且统计删除了多少个“java”
*/
public class Test1 {

        public static void main(String[] args) {
               
                String str = "woaijavahahajavaaiwo";
                int oldLen = str.length();
                str = str.replaceAll("java", "");
                int newLen = str.length();
                System.out.println("一共删除了" + (oldLen - newLen)/4 + "个java");
               
        }

}





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