Say I have a string
local a = "Hello universe"
I find the substring “universe” by
a:find("universe")
Now, suppose the string is
local a = "un#verse"
The string to be searched is universe; but the substring differs by a single character.
So obviously Lua ignores it.
How do I make the function find the string even if there is a discrepancy by a single character?
If you know where the character would be, use
.instead of that character:a:find("un.verse")However, it looks like you’re looking for a fuzzy string search. It is out of a scope for a Lua
stringlibrary. You may want to start with this article: http://ntz-develop.blogspot.com/2011/03/fuzzy-string-search.htmlAs for Lua fuzzy search implementations — I haven’t used any, but googing “lua fuzzy search” gives a few results. Some are based on this paper: http://web.archive.org/web/20070518080535/http://www.heise.de/ct/english/97/04/386/
Try https://github.com/ajsher/luafuzzy.