So I'm trying to find square brackets inside a string:
s = "testing [something] something else"
x,y = string.find(s,"[")
which gives me an error: malformed pattern (missing ']').
I also tried:
x,y = string.find(s,"\[")
giving me the same error.
And this:
x,y = string.find(s,"\\[")
in this case x and y are nil.
Any thoughts on how to do this properly? Thanks in advance.
Use the fourth argument to string.find
, which turns off pattern-matching.
x, y = string.find(s, "[", nil, true)
John's answer will work -- turning off pattern matching.
What you're trying to do -- escape the [
-- is done with the %
character in Lua:
x,y = string.find(s,'%[')
Also strings in Lua all have the string module as their metatable, so you could just say:
x,y = s:find('%[')
or even:
x,y = s:find'%['
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With