ある文字列が別の文字列に特定の長さのchar-sequenceを含んでいるかどうかをチェックしたいとします。2つの文字列の要素を比較するJava
String user1_hobbies = "friends, cinema/outside"
String user2_hobbies = "outside, going out with friends"
boolean check;
if (user1_hobbies.contains(user2_hobbies)){
check = true;
} else
{check = false
}
ofc文字列全体に文字列全体が含まれている必要があるため、この試行は機能しません。私はちょうど両方の文字列の一部が一致するかどうかをチェックしたい。この場合、 "friends"または "outside"がマッチしているため一致する。あなたは、スプリット機能を配列に文字列を変換してから、次のように確認することができます
最初の文から「単語」のみを抽出し、それぞれの単語についてstring2にその単語が含まれていることを確認してください。 – TheLostMind
正しい抽象化を使用していません。コンマ区切りのStringではなく、のSetを使用します。 –
重複を単語に限定していないので、より良いアルゴリズムについては、[最も長い共通部分文字列の問題](https://en.wikipedia.org/wiki/Longest_common_substring_problem)を参照する必要があります。例: ''私たちは最高の友達だった '' vs ''私たちは最悪の友達だった ''、重複は ''友人のこと ''となります。 – Andreas