No matter what the string value of s is, s:find(".") will always return 1. Is there a reason for this? am I doing something wrong?
string.find matches patterns by default. In patterns "." means "any character". To ignore patterns do string.find(str,'.',1,true)