How can I do fuzzy string matching within PowerShell scripts?
I have different sets of names of people scraped from different sources and have them stored in an array. When I add a new name, I like to compare the name with existing name and if they fuzzily matches, I like to consider them to be the same. For example, with data set of:
@("George Herbert Walker Bush",
"Barbara Pierce Bush",
"George Walker Bush",
"John Ellis (Jeb) Bush" )
I like to see following outputs from the given input:
"Barbara Bush" -> @("Barbara Pierce Bush")
"George Takei" -> @("")
"George Bush" -> @("George Herbert Walker Bush","George Walker Bush")
At minimum, I like to see matching to be case insensitive, and also flexible enough to handle some level of misspelling if possible.
As far as I can tell, standard libraries does not provide such functionalities. Is there an easy-to-install module which can accomplish this?