WoW:API gsub: Difference between revisions
Jump to navigation
Jump to search
m
Move page script moved page API gsub to WoW:API gsub without leaving a redirect
m (link to patterns tutorial added) |
m (Move page script moved page API gsub to WoW:API gsub without leaving a redirect) |
||
| (4 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
{{luaapi}} | |||
string.gsub(s, pattern, replace [, n]) | string.gsub(s, pattern, replace [, n]) | ||
gsub(s, pattern, replace [, n]) | |||
strreplace(s, pattern, replace [, n]) | |||
This is a very powerful function and can be used in multiple ways. Used simply it can replace all instances of the pattern provided with the replacement. A pair of values is returned, the modified string and the number of substitutions made. The optional fourth argument n can be used to limit the number of substitutions made: | This is a very powerful function and can be used in multiple ways. Used simply it can replace all instances of the pattern provided with the replacement. A pair of values is returned, the modified string and the number of substitutions made. The optional fourth argument n can be used to limit the number of substitutions made: | ||
| Line 17: | Line 20: | ||
bnanaa 2 | bnanaa 2 | ||
If the replacement is a function, not a string, the arguments passed to the function are any captures that are made. If the function returns a string, the value returned is substituted back into the string. Just like string.find() we can use regular expressions to search in strings. Patterns are covered in the [http://lua-users.org/wiki/PatternsTutorial Patterns Tutorial on Lua-Users.org]. | If the replacement is a function, not a string, the arguments passed to the function are any captures that are made. If the function returns a string, the value returned is substituted back into the string. Just like string.find() we can use regular expressions to search in strings. Patterns are covered in the [http://lua-users.org/wiki/PatternsTutorial Patterns Tutorial on Lua-Users.org], and the [[pattern matching]] HOWTO. | ||
> = string.gsub("Hello Lua user", "(%w+)", print) -- print any words found | > = string.gsub("Hello Lua user", "(%w+)", print) -- print any words found | ||
| Line 30: | Line 33: | ||
> = string.gsub("banana", "(a)(n)", function(a,b) return b..a end) -- reverse any "an"s | > = string.gsub("banana", "(a)(n)", function(a,b) return b..a end) -- reverse any "an"s | ||
bnanaa 2 | bnanaa 2 | ||