-5

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

Search for: aba
Line: ababa  
Result: 2 

我忘记了我应该使用什么方法。

4

4 回答 4

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);
于 2013-04-27T07:45:20.233 回答
0

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

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

于 2013-04-27T07:33:42.667 回答
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将为您提供子字符串的出现次数。

希望能帮助到你。

于 2013-04-27T07:46:23.480 回答
0

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

于 2013-04-27T07:30:21.580 回答