日期:2014-05-20  浏览次数:20757 次

java中如何确定一个字符串在另一个字符串中出现的次数
比如 "ok "字符串在 "nihaoksdoksad "中出现两次

------解决方案--------------------
上面写错了:
String str1 = "nihaoksdoksad ";
String str2 = "ok ";
int total = 0;
for (String tmp = str1; tmp != null&&tmp.length()> =str2.length();){
if(tmp.indexOf(str2) == 0){
total ++;
}
tmp = tmp.substring(1);
}
System.out.println(str1+ "中含有 "+total+ "个 "+str2);
上面我写的算法是字符可以覆盖的查找:
下面给你一种不允许字符覆盖的查找:
String str1 = "nihaokokosdokosad ";
String str2 = "oko ";
int total = 0;
for (String tmp = str1; tmp != null&&tmp.length()> =str2.length();){
if(tmp.indexOf(str2) == 0){
total ++;
tmp = tmp.substring(str2.length());
}else{
tmp = tmp.substring(1);
}
}
System.out.println(str1+ "中含有 "+total+ "个 "+str2);

对于
String str1 = "nihaokokosdokosad ";
String str2 = "oko ";
两种查找结果是有区别的,不知道lz要哪种?