/*
* 2 一个子串在整串中出现的次数。
* "loveerlovetyloveuiloveoplove"
* 思路:
* 1,要找的子串是否存在,如果存在获取其出现的位置。这个可以使用indexOf完成。
* 2,如果找到了,那么就记录出现的位置并在剩余的字符串中继续查找该子串,
* 而剩余字符串的起始位是出现位置+子串的长度.
* 3,以此类推,通过循环完成查找,如果找不到就是-1,并对 每次找到用计数器记录。
* 使用 indexOf()获取某个字符子串在整串中的位置,还使用到subString(int index);函数,截取剩余的子串
*/
public class StringTest_2 { /** * @param args */ public static void main(String[] args) { String str = "loveerlovetyloveuiloveoplove"; String key = "love";
/*System.out.println("$$$$$$$$$$"+str.indexOf(key,0));
System.out.println(key.length()); System.out.println("$$$$$$$$$$"+str.indexOf(key,4));*/ int count = getKeyStringCount_lp(str,key); System.out.println("count="+count); } public static int getKeyStringCount_lp(String str,String key){ //定义key在字符串中出现的位置 int index = 0; //定义计数器 int count = 0; while((index=str.indexOf(key, index)) != -1){//找到了子串,返回子串的位置 str = str.substring(index+key.length());//从剩余的子串当中继续找 //System.out.println(str);//打印剩余的子串 count++;//记录找到多少个子串 } return count; } }
java基础知识回顾之---java String final类普通方法的应用之“子串在整串中出现的次数”,布布扣,bubuko.com