Difference between revisions of "String.gmatch"
From GiderosMobile
(formatting) |
(remove language stuff) |
||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | ''' | + | '''Available since:''' Gideros 2011.6<br/> |
− | ''' | + | '''Class:''' [[string]]<br/> |
=== Description === | === Description === | ||
− | Returns an iterator function that, each time it is called, returns the next captures from pattern over string s. If pattern specifies no captures, then the whole match is produced in each call. | + | Returns an iterator function that, each time it is called, returns the next captures from pattern ''pat'' over string ''s''. If pattern specifies no captures, then the whole match is produced in each call. |
<source lang="lua"> | <source lang="lua"> | ||
(function) = string.gmatch(s,pat) | (function) = string.gmatch(s,pat) | ||
Line 10: | Line 10: | ||
=== Parameters === | === Parameters === | ||
− | '''s''': (string) | + | '''s''': (string) string where to look for patterns<br/> |
− | '''pat''': (string) | + | '''pat''': (string) pattern to look for<br/> |
=== Return values === | === Return values === | ||
− | ''' | + | '''Returns''' (function) iterator function<br/> |
=== Examples === | === Examples === | ||
− | + | '''The following loop will iterate over all the words from string s, printing one per line''' | |
<source lang="lua"> | <source lang="lua"> | ||
s = "hello world from Lua" | s = "hello world from Lua" | ||
Line 25: | Line 25: | ||
</source> | </source> | ||
− | The next example collects all pairs key=value from the given string into a table | + | '''The next example collects all pairs key=value from the given string into a table''' |
<source lang="lua"> | <source lang="lua"> | ||
t = {} | t = {} |
Revision as of 03:40, 24 February 2021
Available since: Gideros 2011.6
Class: string
Description
Returns an iterator function that, each time it is called, returns the next captures from pattern pat over string s. If pattern specifies no captures, then the whole match is produced in each call.
(function) = string.gmatch(s,pat)
Parameters
s: (string) string where to look for patterns
pat: (string) pattern to look for
Return values
Returns (function) iterator function
Examples
The following loop will iterate over all the words from string s, printing one per line
s = "hello world from Lua"
for w in string.gmatch(s, "%a+") do
print(w)
end
The next example collects all pairs key=value from the given string into a table
t = {}
s = "from=world, to=Lua"
for k, v in string.gmatch(s, "(%w+)=(%w+)") do
t[k] = v
end
For this function, a '^' at the start of a pattern does not work as an anchor, as this would prevent the iteration.