I would like to know a simple algorithm to determine if a string contains exact sentence or word.
I'm not looking for:
string.contains(anotherString)
Here's why:
let string = "I know your name"
string.contains("you") // Will return true
In the example above, it returns true because if find "you"
in the word "your"
. I want a method that will return false in that condition.
For example:
let string = "I am learning Swift"
// Let's say we make a method using extension called contains(exact:)
string.contains(exact: "learn") // return false
The method contains(exact:)
will return false since "learn"
is not equal with "learning"
Another example:
let string = "Healthy low carb diets"
string.contains(exact: "low carb diet") // return false
What's the algorithm to get that result in Swift 3? Or is there predefined method for this?
A regexless solution would be something like:
This will treat every non-alphanumeric character as a word boundary.
A solution is Regular Expression which is able to check for word boundaries.
This is a simple String extension, the pattern searches for the query string wrapped in word boundaries (
\b
)Or – thanks to Sulthan – still simpler
Usage: