Difference between revisions of "Utf8.offset"
From GiderosMobile
m (Text replacement - "<source" to "<syntaxhighlight") |
|||
Line 4: | Line 4: | ||
=== Description === | === Description === | ||
− | Returns the position (in bytes) where the encoding of the n-th character of s (counting from position i) starts. | + | Returns the position (in bytes) where the encoding of the n-th character of ''s'' (counting from position ''i'') starts. |
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
(number) = utf8.offset(s,n,i) | (number) = utf8.offset(s,n,i) | ||
− | </ | + | </syntaxhighlight> |
+ | A negative ''n'' gets characters before position ''i''. | ||
− | + | The default for ''i'' is 1 when ''n'' is non-negative and #s + 1 otherwise, so that utf8.offset(s, -n) gets the offset of the n-th character from the end of the string. | |
− | |||
− | The default for i is 1 when n is non-negative and #s + 1 otherwise, so that utf8.offset(s, -n) gets the offset of the n-th character from the end of the string. | ||
If the specified character is neither in the subject nor right after its end, the function returns nil. | If the specified character is neither in the subject nor right after its end, the function returns nil. | ||
− | As a special case, when n is 0 the function returns the start of the encoding of the character that contains the i-th byte of s. | + | As a special case, when ''n'' is 0 the function returns the start of the encoding of the character that contains the i-th byte of s. |
− | |||
− | '''This function assumes that s is a valid UTF-8 string | + | '''This function assumes that ''s'' is a valid UTF-8 string''' |
=== Parameters === | === Parameters === | ||
− | '''s''': (string) | + | '''s''': (string) <br/> |
− | '''n''': (number) | + | '''n''': (number) <br/> |
− | '''i''': (number) | + | '''i''': (number) '''optional'''<br/> |
=== Return values === | === Return values === |
Latest revision as of 22:11, 1 December 2023
Available since: Gideros 2016.06
Class: utf8
Description
Returns the position (in bytes) where the encoding of the n-th character of s (counting from position i) starts.
(number) = utf8.offset(s,n,i)
A negative n gets characters before position i.
The default for i is 1 when n is non-negative and #s + 1 otherwise, so that utf8.offset(s, -n) gets the offset of the n-th character from the end of the string.
If the specified character is neither in the subject nor right after its end, the function returns nil.
As a special case, when n is 0 the function returns the start of the encoding of the character that contains the i-th byte of s.
This function assumes that s is a valid UTF-8 string
Parameters
s: (string)
n: (number)
i: (number) optional
Return values
Returns (number) position (in bytes)