Difference between revisions of "String.find"

From GiderosMobile
m (formatting)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
'''<translate>Available since</translate>:''' Gideros 2011.6<br/>
+
'''Available since:''' Gideros 2011.6<br/>
'''<translate>Class</translate>:''' [[Special:MyLanguage/string|string]]<br/>
+
'''Class:''' [[string]]<br/>
  
 
=== Description ===
 
=== Description ===
Looks for the first match of pattern in the string s. If it finds a match, then find returns the indices of s where this occurrence starts and ends; otherwise, it returns nil. A third, optional numerical argument init specifies where to start the search; its default value is 1 and can be negative. A value of true as a fourth, optional argument plain turns off the pattern matching facilities, so the function does a plain "find substring" operation, with no characters in pattern being considered "magic". Note that if plain is given, then init must be given as well.
+
Looks for the first match of ''pattern'' in the string ''s''.
 
 
If the pattern has captures, then in a successful match the captured values are also returned, after the two indices.
 
 
<source lang="lua">
 
<source lang="lua">
 
(numbers) = string.find(s,pattern,init,plain)
 
(numbers) = string.find(s,pattern,init,plain)
 
</source>
 
</source>
 +
 +
 +
If it finds a match, then '''find''' returns the indices of ''s'' where this occurrence starts and ends; otherwise, it returns nil.
 +
 +
A third, optional numerical argument ''init'' specifies where to start the search; its default value is 1 and can be negative.
 +
 +
A value of true as a fourth, optional argument ''plain'' turns off the pattern matching facilities, so the function does a plain "find substring" operation, with no characters in pattern being considered "magic". Note that if plain is given, then init must be given as well.
 +
 +
If the pattern has captures, then in a successful match the captured values are also returned, after the two indices.
  
 
=== Parameters ===
 
=== Parameters ===
'''s''': (string) <translate>string where to find a pattern</translate> <br/>
+
'''s''': (string) string where to find a pattern<br/>
'''pattern''': (string) <translate>pattern to find</translate> <br/>
+
'''pattern''': (string) pattern to find<br/>
'''init''': (number) <translate>index where to start searching for pattern</translate> '''optional'''<br/>
+
'''init''': (number) index where to start searching for pattern '''optional''' (default = 1)<br/>
'''plain''': (bool) <translate>if true, then it simply matches substring without any special symbols (default = false)</translate> '''optional'''<br/>
+
'''plain''': (bool) if true, then it simply matches substring without any special symbols '''optional''' (default = false)<br/>
  
 
=== Return values ===
 
=== Return values ===
'''<translate>Returns</translate>''' (numbers) <translate>indexes of occurrence of the pattern or nil</translate><br/>
+
'''Returns''' (numbers) indices of occurrence of the pattern or nil<br/>
 +
 
 +
=== Example ===
 +
<source lang="lua">
 +
local mystring = "Hello World! This is a beautiful world."
 +
local g, h = mystring:find("World")
 +
if g then print(g, h) end -- outputs 7 11
 +
</source>
  
 
{{String}}
 
{{String}}

Revision as of 11:11, 7 December 2020

Available since: Gideros 2011.6
Class: string

Description

Looks for the first match of pattern in the string s.

(numbers) = string.find(s,pattern,init,plain)


If it finds a match, then find returns the indices of s where this occurrence starts and ends; otherwise, it returns nil.

A third, optional numerical argument init specifies where to start the search; its default value is 1 and can be negative.

A value of true as a fourth, optional argument plain turns off the pattern matching facilities, so the function does a plain "find substring" operation, with no characters in pattern being considered "magic". Note that if plain is given, then init must be given as well.

If the pattern has captures, then in a successful match the captured values are also returned, after the two indices.

Parameters

s: (string) string where to find a pattern
pattern: (string) pattern to find
init: (number) index where to start searching for pattern optional (default = 1)
plain: (bool) if true, then it simply matches substring without any special symbols optional (default = false)

Return values

Returns (numbers) indices of occurrence of the pattern or nil

Example

local mystring = "Hello World! This is a beautiful world."
local g, h = mystring:find("World")
if g then print(g, h) end -- outputs 7 11