WoW:API strfind: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (added pattern tutorial link) |
||
Line 1: | Line 1: | ||
string.find(s, pattern [, init [, plain]]) | string.find(s, pattern [, init [, plain]]) | ||
Find the first | Find the first occurrence of the pattern in the string passed. If an instance of the pattern is found a pair of values representing the start and end of the string is returned. If the pattern cannot be found nil is returned. | ||
> = string.find("Hello Lua user", "Lua") | > = string.find("Hello Lua user", "Lua") | ||
Line 17: | Line 17: | ||
13 13 | 13 13 | ||
The pattern argument can be a regular expression which allows more complex searchs. See the PatternsTutorial for more information. We can turn off the regular expression feature by using the optional fourth argument plain. plain takes a boolean value and must be preceeded by init. E.g., | The pattern argument can be a regular expression which allows more complex searchs. See the [http://lua-users.org/wiki/PatternsTutorial Patterns Tutorial on Lua-Users.org] for more information. We can turn off the regular expression feature by using the optional fourth argument plain. plain takes a boolean value and must be preceeded by init. E.g., | ||
> = string.find("Hello Lua user", "%su") -- find a space character followed by "u" | > = string.find("Hello Lua user", "%su") -- find a space character followed by "u" | ||
Line 23: | Line 23: | ||
> = string.find("Hello Lua user", "%su", 1, true) -- turn on plain searches, now not found | > = string.find("Hello Lua user", "%su", 1, true) -- turn on plain searches, now not found | ||
nil | nil | ||
---- | ---- | ||
{{WoW API}} | {{WoW API}} |
Revision as of 17:44, 21 February 2006
string.find(s, pattern [, init [, plain]])
Find the first occurrence of the pattern in the string passed. If an instance of the pattern is found a pair of values representing the start and end of the string is returned. If the pattern cannot be found nil is returned.
> = string.find("Hello Lua user", "Lua") 7 9 > = string.find("Hello Lua user", "banana") nil
We can optionally specify where to start the search with a third argument. The argument may also be negative which means we count back from the end of the string and start the search.
> = string.find("Hello Lua user", "Lua", 1) -- start at first character 7 9 > = string.find("Hello Lua user", "Lua", 8) -- "Lua" not found again after character 8 nil > = string.find("Hello Lua user", "e", -5) -- first "e" 5 characters from the end 13 13
The pattern argument can be a regular expression which allows more complex searchs. See the Patterns Tutorial on Lua-Users.org for more information. We can turn off the regular expression feature by using the optional fourth argument plain. plain takes a boolean value and must be preceeded by init. E.g.,
> = string.find("Hello Lua user", "%su") -- find a space character followed by "u" 10 11 > = string.find("Hello Lua user", "%su", 1, true) -- turn on plain searches, now not found nil