黑马程序员技术交流社区
标题:
获取字符串中某个子串出现的次数
[打印本页]
作者:
追逐
时间:
2014-3-20 12:43
标题:
获取字符串中某个子串出现的次数
本帖最后由 追逐 于 2014-3-21 19:32 编辑
/*
3,获取一个字符串在另一个字符串中出现的次数。
"abkkedfkkskka"
思路:
1,定义一个计数器
2,获取kk第一次出现的位置。
3,从第一次出现位置偶剩余的字符串中继续获取kk出现的位置。
每获取一次就计数一次。
4,当获取不到时,技术完成
*/
class ChaZhaoTest
{
public static void main(String[] args)
{
String s = "abkkedfkkskkakk";
System.out.println(getSubString(s, "kk"));
}
//获取一个子字符串在字符串中出现的次数 方法一
public static int getSubString(String str, String key) //str要传入的参数字符串 key要被查找的字符串
{
int count = 0; //计数器
int index = 0; //记录角标位
while((index = str.indexOf(key))!= -1) //str.indexOf(key)是查找要被查找的字符串的起始位,只要不等于-1就代表里面还有字符
{
count++; //记录出现的次数
//substing获取一个从index+key.length()角标位开始的子字符串
str = str.substring(index + key.length());
}
return count;
}
//获取一个子字符串在字符串中出现的次数 方法二
public static int getSubString_1(String str, String key)
{
int count = 0; //计数器
int index = 0; //记录角标位
while((index = str.indexOf(key, index)) != -1) //indexOf(key, index)key代表要被查找的字符串。index代表下一个角标位的开始角标位
{
index = index + key.length(); //index是要查找字符串的起始位。计算key字符串的长度。并加上查找字符串的起始位
count++;
}
return count;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2