java-String相关算法-获得一个字符串在另一个字符串中出现的次数
问题描述
获得一个字符串在另一个字符串中出现的次数
如ab在"abkkcabdhgsuabjhsdkab"中的次数
解题思路
使用indexof(char s,int index)函数
每次在指定部分需要字符串出现的位置,累计得到次数
如ab在"abkkcabdhgsuabjhsdkab"中的次数
第一次调用indexof(“ab”,0)—得到结果为0
第二次则在【2,length】里进行查找,因为ab的长度为2:即调用indexof(“ab”,2)
依次将次数累加
java代码实现
package com.myy.service;
/**获得一个字符串在另一个字符串中出现的次数
* 如ab在"abkkcabdhgsuabjhsdkab"中的次数
* @author myy
* @create 2020-09-07 20:22
*/
public class getnum {
public static void main(String[] args) {
String s1="abkkcabdhgabsuabjhsdkab";
int num=getnum(s1,"ab");
System.out.println(num);
}
public static int getnum(String str,String subs){
int n=0;
int len=str.length();
int sublen=subs.length();
int index=0;
if(len>=sublen){
while((index=str.indexOf(subs,index))!=-1){
n++;
index+=sublen;
}
}
return n;
}
}