获取一个字符串,在另一个字符串中出现的次数比如获取"ab"在"abfewabbbdsabd"中出现的次数
上代码
import org.junit.Test;
public class StringDemo1 {
/**
* 获取一个字符串,在另一个字符串中出现的次数
* 比如获取"ab"在"abfewabbbdsabd"中出现的次数
*/
/**
* @param mainStr 主字符串
* @param substr 次要字符串
* @return
*/
public int getCount(String mainStr, String substr) {
int mainLength = mainStr.length();
int subLength = substr.length();
int count = 0;
int index = 0;
if (mainLength >= subLength) {
//方式一:
// while ((index = mainStr.indexOf(substr)) != -1) {
// count++;
// mainStr = mainStr.substring(index + substr.length());
// }
//进行方式一的改进
//index从哪个位置开始找
while ((index = mainStr.indexOf(substr, index)) != -1) {
count++;
index += subLength;
}
return count;
} else {
return 0;
}
}
@Test
public void test() {
String mainStr = "abfewabbbdsabd";
String substr = "ab";
int count = getCount(mainStr, substr);
System.out.println(count);
}
}