如何在字符串中查找子字符串的出现次数

时间:2013-04-27 07:22:10

标签: java substring

我想在字符串中找到一个子字符串,可能会多次出现,甚至可能看起来像:

Search for: aba
Line: ababa  
Result: 2 

我忘记了应该使用的方法。

4 个答案:

答案 0 :(得分:2)

    String s = "ababa", key="aba";
    int limit= s.length()-key.length(), count = 0;
    for(int i=0; i<=limit; i++) {
        int index = s.indexOf(key, i);
        if(index!=-1) {
            i=index+1;
            count++;
        }
        else {
            break;
        }
    }
    System.out.println(count);

答案 1 :(得分:0)

我猜你可以使用String.indexOf(String str)

答案 2 :(得分:0)

使用循环计算String.indexOf(String str, int fromIndex)的点击次数,并在返回-1时退出。

使用第二个参数在你的字符串中“向前移动”。

答案 3 :(得分:0)

您可以使用indexOf方法,如下所示:

    String s = "ababa";
    String r = "aba";
    int count=0;
    int startindex = s.indexOf(r);
    while(startindex != -1)
    {
        count++;
        startindex = s.indexOf(r,startindex+1);
    }

count的值将为您提供子字符串的出现次数。

希望它有所帮助。