求一个子串在整串中出现的次数。

来源:互联网 发布:淘宝支付宝登录 编辑:程序博客网 时间:2024/05/16 23:50
 需求:  已知整串,"nbaernbatynbauinbaopnba"
  求一个子串“nba”在一个整串中出现的次数。
  思路:
  1、利用indexOf()判断子串是否在整串中存在,若存在则记录其位置。
  2、利用剩余字符串继续查找。

  3、设置计数器记录

package String;public class Test2 {/** * 需求:  "nbaernbatynbauinbaopnba" * 求一个子串在一个整串中出现的次数。 * 思路: * 1、利用indexOf()判断子串是否在整串中存在,若存在则记录其位置。 * 2、利用剩余字符串继续查找。 * 3、设置计数器记录。 *  */public static void main(String[] args) {String s= "nbaernbatynbauinbaopnba";String key="nba";int count=getKeyString(s,key);System.out.println(count);int count1=getKeyString2(s,key);System.out.println(count1);}//方法二public static int getKeyString2(String s, String key) {  int count=0;  int index=0;  while((index=s.indexOf(key, index))!=-1){  s=s.substring(index+key.length());  count++;  }return count;}//方法一public static int getKeyString(String s, String key) {int index=0;int count=0; while((index=s.indexOf(key, index))!=-1) { index=index+key.length(); count++; }return count;}}
运行结果:

5

5