You can compare the string's length first, if they are equal then compare from the first character, if there's one character that is different, then the rest must be the same for your condition to be true:
function my_compare(w1, w2)
if w1:len() ~= w2:len() then
return false
end
for i = 1, w1:len() do
if w1:sub(i, i) ~= w2:sub(i, i) then
return w1:sub(i + 1) == w2:sub(i + 1)
end
end
return true
end