java 获得某个子字符串的个数

来源:百度知道 编辑:UC知道 时间:2024/06/06 07:04:51
请高手帮忙解决java中如何获得某个子字符串的个数。
例1:select (select from ) ,zch,(select )中有多少个左括号“(”。
例2:abcasdfabcasabc中有多少个“abc”字符串。
先在此表示感谢!

替换掉效率太低,如果是几十K的字符串,保证慢死你。
我的做法如下:很高效
//src 源,find 查找目标,返回的就是找到的数目
public static int getOccur(String src,String find){
int o = 0;
int index=-1;
while((index=src.indexOf(find,index))>-1){
++index;
++o;
}
return o;
}

public class test11 {
String s = "abclfdlsjfabc0";
public void aa(){
int count=0;
while(s.indexOf("abc")>=0)
{
count++;
s=s.replaceFirst("abc",""); //将统计过的abc替换为空 然后继续循环
}
System.out.println(count);
}
public static void main(String args[]){
test11 te = new test11();
te.aa();
}
}

楼上的错了,你可以看这个。可以直接使用,帮你测好了

int count=0;
String s="abcdabcbabceabcfabcg";
while(s.indexof("abc")>0)
{
count++;
s=s.replace("abc",""); //将统计过的abc替换为空 然后继续循环
}
补充wj154005000一点