I try to find the search term in my term collection.

It's my string array

```
[0] "windows"
[1] "dual sim"
[2] "32 gb"
[3] "Intel i5"

```

---

search term is input and return is output 

```
search term= "32 gb"                 return -> 2 (position of array)
search term ="android 32 gb"         return -> 2 (position of array)
search term ="android mobile 32 gb"  return -> 2 (position of array)
search term= "32 GB"                 return -> 2 (position of array)
search term= "32"                    return -> 2 (position of array)
search term= "32gb"                  return -> not match 
search term= "dual sim 32"           return -> 1 (position of array)

```

So how can do like this in C#.NET Can any search library or search dictionary provide this feature

My demo code is here :[demo](http://rextester.com/live/FBSGM59372)

My code is :

```
public static void Main(string[] args)
{
    var array= new string [] {"Intel Core i5","5 GB","128 GB"};
    string searchString = "128";//out put is 2 but it's returen -1

    Console.WriteLine(Array.FindIndex(array, x=> searchString.IndexOf(x, StringComparison.CurrentCultureIgnoreCase) >=0));

    searchString="128 gb";
    Console.WriteLine(Array.FindIndex(array, x=> searchString.IndexOf(x, StringComparison.CurrentCultureIgnoreCase) >=0));

    searchString="intel laptop 128 gb";
    Console.WriteLine(Array.FindIndex(array, x=> searchString.IndexOf(x, StringComparison.CurrentCultureIgnoreCase) >=0));       
}

```