Is there an extension of string's StartsWith that it searches at the start of every word in the string?
Something like:
"Ben Stiller".StartsWithExtension("Sti")
returning true
I want this so I can make a predicate for searching.
Lets say there's a list called Persons, ICollection<Person>
Each person has a property Name, with values like "Ben Stiller" or "Adam Sandler".
I want to be able to do predicates like:
Persons.Where(p => p.Name.StartsWithExtension(query))
Thanks (Other better ways of achieving this are welcome)
You can split the string up by words first, like this:
var result = "Ben Stiller".Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries)
.Any(x => x.StartsWith("Sti"));
Of course you could write this as you're own extension method, like this:
public static bool AnyWordStartsWith(this string input, string test)
{
return input.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries)
.Any(x => x.StartsWith(test));
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With