Difference between revisions of "Utf8.gsub"
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | ''' | + | '''Available since:''' Gideros 2016.06<br/> |
− | ''' | + | '''Class:''' [[utf8]]<br/> |
− | === | + | |
− | + | === Description === | |
− | If repl is a string, then its value is used for replacement. The character % works as an escape character: any sequence in repl of the form %d, with d between 1 and 9, stands for the value of the d-th captured substring. The sequence %0 stands for the whole match. The sequence %% stands for a single %. | + | Returns a copy of ''s'' in which all (or the first ''n'', if given) occurrences of the pattern have been replaced by a replacement string specified by ''repl'', which can be a string, a table, or a function. |
− | If repl is a table, then the table is queried for every match, using the first capture as the key. | + | <syntaxhighlight lang="lua"> |
− | If repl is a function, then this function is called every time a match occurs, with all captured substrings passed as arguments, in order. | + | (string), (number) = utf8.gsub(s,pattern,repl,n) |
+ | </syntaxhighlight> | ||
+ | |||
+ | gsub also returns, as its second value, the total number of matches that occurred. | ||
+ | |||
+ | The name gsub comes from Global SUBstitution. | ||
+ | |||
+ | If ''repl'' is a '''string''', then its value is used for replacement. | ||
+ | |||
+ | The character '''%''' works as an escape character: any sequence in ''repl'' of the form '''%d''', with d between 1 and 9, stands for the value of the d-th captured substring. | ||
+ | |||
+ | The sequence '''%0''' stands for the whole match. | ||
+ | |||
+ | The sequence '''%%''' stands for a single %. | ||
+ | |||
+ | If ''repl'' is a '''table''', then the table is queried for every match, using the first capture as the key. | ||
+ | |||
+ | If ''repl'' is a '''function''', then this function is called every time a match occurs, with all captured substrings passed as arguments, in order. | ||
+ | |||
In any case, if the pattern specifies no captures, then it behaves as if the whole pattern was inside a capture. | In any case, if the pattern specifies no captures, then it behaves as if the whole pattern was inside a capture. | ||
− | If the value returned by the table query or by the function call is a string or a number, then it is used as the replacement string; otherwise, if it is false or nil, then there is no replacement (that is, the original match is kept in the string). | + | |
− | + | If the value returned by the table query or by the function call is a string or a number, then it is used as the replacement string; otherwise, if it is false or nil, then there is no replacement (that is, the original match is kept in the string). | |
− | + | ||
− | + | === Parameters === | |
− | === | + | '''s''': (string) <br/> |
− | '''s''': (string) | + | '''pattern''': (string) <br/> |
− | '''pattern''': (string) | + | '''repl''': (varies) <br/> |
− | '''repl''': (varies) | + | '''n''': (number) '''optional'''<br/> |
− | '''n''': (number) | + | |
− | === | + | === Return values === |
− | ''' | + | '''Returns''' (string) replaced string<br/> |
− | ''' | + | '''Returns''' (number) number of substitutions<br/> |
+ | |||
+ | {{Utf8}} |
Latest revision as of 21:56, 1 December 2023
Available since: Gideros 2016.06
Class: utf8
Description
Returns a copy of s in which all (or the first n, if given) occurrences of the pattern have been replaced by a replacement string specified by repl, which can be a string, a table, or a function.
(string), (number) = utf8.gsub(s,pattern,repl,n)
gsub also returns, as its second value, the total number of matches that occurred.
The name gsub comes from Global SUBstitution.
If repl is a string, then its value is used for replacement.
The character % works as an escape character: any sequence in repl of the form %d, with d between 1 and 9, stands for the value of the d-th captured substring.
The sequence %0 stands for the whole match.
The sequence %% stands for a single %.
If repl is a table, then the table is queried for every match, using the first capture as the key.
If repl is a function, then this function is called every time a match occurs, with all captured substrings passed as arguments, in order.
In any case, if the pattern specifies no captures, then it behaves as if the whole pattern was inside a capture.
If the value returned by the table query or by the function call is a string or a number, then it is used as the replacement string; otherwise, if it is false or nil, then there is no replacement (that is, the original match is kept in the string).
Parameters
s: (string)
pattern: (string)
repl: (varies)
n: (number) optional
Return values
Returns (string) replaced string
Returns (number) number of substitutions