Difference between revisions of "Utf8.gsub"

From GiderosMobile
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
<languages />
+
'''Available since:''' Gideros 2016.06<br/>
'''<translate>Available since</translate>:''' Gideros 2016.06<br/>
+
'''Class:''' [[utf8]]<br/>
'''<translate>Class</translate>:''' [[Special:MyLanguage/utf8|utf8]]<br/>
+
 
=== <translate>Description</translate> ===
+
=== Description ===
<translate>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. gsub also returns, as its second value, the total number of matches that occurred. The name gsub comes from Global SUBstitution.
+
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 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 %.
+
<syntaxhighlight lang="lua">
If repl is a table, then the table is queried for every match, using the first capture as the key.
+
(string), (number) = utf8.gsub(s,pattern,repl,n)
If repl is a function, then this function is called every time a match occurs, with all captured substrings passed as arguments, in order.
+
</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).</translate>
+
 
<source lang="lua">
+
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).
(string), (number) = utf8.gsub(s,pattern,repl,n)
+
 
</source>
+
=== Parameters ===
=== <translate>Parameters</translate> ===
+
'''s''': (string) <br/>
'''s''': (string) <translate></translate> <br/>
+
'''pattern''': (string) <br/>
'''pattern''': (string) <translate></translate> <br/>
+
'''repl''': (varies) <br/>
'''repl''': (varies) <translate></translate> <br/>
+
'''n''': (number) '''optional'''<br/>
'''n''': (number) <translate></translate> '''optional'''<br/>
+
 
=== <translate>Return values</translate> ===
+
=== Return values ===
'''<translate>Returns</translate>''' (string) <translate>replaced string</translate><br/>
+
'''Returns''' (string) replaced string<br/>
'''<translate>Returns</translate>''' (number) <translate>number of substitutions</translate><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