Simple question may have a simple answer, but my current solution seems horrible.
local list = {'?', '!', '@', ... etc)
for i=1, #list do
if string.match(string, strf("%%%s+", list[i])) then
-- string contains characters that are not alphanumeric.
end
end
Is there a better way to do this.. maybe with string.gsub?
Thanks in advance.
If you're looking to see if a string contains only alphanumeric characters, then just match the string against all non-alphanumeric characters:
if(str:match("%W")) then
--Improper characters detected.
end
The pattern %w
matches alphanumeric characters. By convention, a pattern than is upper-case rather than lowercase matches the inverse set of characters. So %W
matches all non-alphanumeric characters.