java实现字符串出现次数
前言
初学String工具类,发现indexOf方法,可进行字符串出现个数的查找,就写了个方法来进行字符串的查找。
正文
字符串方法有很多,其中indexOf方法是用来查找字符串出现的位置,并返回其下标,查询不到返回-1;利用这个加上StringBuffer的Delete方法就能实现查找字符出现个数。使用indexOf方法进行查找,将查找到的字符串使用Delete方法进行删除,使用定义一个计数器来统计查询到的次数,用while循环进行反复查找,直到indexOf方法返回为-1在进行结束,并返回出现的次数。
代码
public class CharacterDemo {
private static CharacterDemo CharacterDemo;
private CharacterDemo() {
}
public static CharacterDemo getCharacterDemo() {
if (CharacterDemo==null) {
CharacterDemo = new CharacterDemo();
}
return CharacterDemo;
}
/**
* @param : Str1为全部字符串,str2是查找的字符串
* @return : 字符串出现的次数
* **/
public int findCharacterCount(String str1,String str2) {
int count = 0;
int end = str2.length();
StringBuffer sb = new StringBuffer(str1);
while(true) {
//indexOf查询指定字符串,查询到结果返回查到字符串下标,查询不到返回-1;
if(sb.indexOf(str2)!=-1) {
count++;
//删除查询到的指定字符,没有赋值不会影响原来字符串,删除完后继续查找,直到查询不到;
sb.delete(sb.indexOf(str2), sb.indexOf(str2)+end);
}else {
break;
}
}
return count;
}
}