0

すべての検索用語を含むテキスト内の行を見つけるために、いくつかの検索用語を含む入力文字列があります。

例えば:

String searchTerms = "java stackoverflow conditions";
String [] splittedTerm = searchTerms.split(" ");

検索語は AND 結合です。

if (textLine.contains(splittedTerm[0] && textLine.contains(splittedTerm[1]) && textLine.contains(splittedTerm[2])) start=true;

ただし、検索語句の数は動的であり、常にユーザーの要求に依存します...

検索語の数に応じて if ステートメントを使用する可能性はありますか?

4

2 に答える 2

1

すべての検索語を繰り返すループを実行できます。不一致が見つかった場合は、フラグを設定してループを中断します。ループの下で、フラグを確認できます。フラグがまだ true の場合は、すべての検索用語が一致しています。

boolean flag = true;
for (String searchTerm : splittedTerm){
    if (!stringToSearch.contains(searchTerm) {
        flag = false;
        break;
    }
}

if (flag)
    all terms matched
else
    one or more terms did not match
于 2014-07-23T09:23:21.883 に答える