-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が返ってきたら終了する。

2 番目のパラメーターを使用して、文字列を「前方に移動」します。

于 2013-04-27T07:33:42.667 に答える
0

String.indexOf(String str) を使用できると思います

于 2013-04-27T07:30:21.580 に答える
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 に答える