検索文字列内の単語に対して文字列内の単語をチェックするだけです。
必要に応じて、これにLinqを使用できます
リンク:
List<string> items = new List<string>
{
"I have a BIG RED CAR",
"I have a BIG GREEN TRUCK",
"I have a BIG YELLOW BOAT"
};
string searchString = "CAR BIG RED";
string result = items.FirstOrDefault(x => searchString.Split(' ').All(s => x.Split(' ').Contains(s)));
正規表現:
を使用RegEx
すると、個々の単語をすべて連結してパイプで区切られた文字列にし、\b
演算子を使用して単語全体をチェックできます。
string sentance = "I have a BIG RED CAR";
string searchString = "CAR BIG RED";
string regexPattern = string.Format(@"\b({0})\b", searchString.Replace(" ","|"));
if (Regex.IsMatch(sentance, regexPattern))
{
// found all search words in string
}
ただし、RegExでこれを行うより良い方法があるかもしれません.RegExの基本しか知りません