Lua - Cordes

La chaîne est une séquence de caractères ainsi que des caractères de contrôle comme le saut de formulaire. La chaîne peut être initialisée avec trois formes qui incluent -

  • Caractères entre guillemets simples
  • Caractères entre guillemets
  • Caractères entre [[et]]

Un exemple des trois formulaires ci-dessus est présenté ci-dessous.

string1 = "Lua"
print("\"String 1 is\"",string1)

string2 = 'Tutorial'
print("String 2 is",string2)

string3 = [["Lua Tutorial"]]
print("String 3 is",string3)

Lorsque nous exécutons le programme ci-dessus, nous obtiendrons la sortie suivante.

"String 1 is"	Lua
String 2 is	Tutorial
String 3 is	"Lua Tutorial"

Les caractères de séquence d'échappement sont utilisés dans la chaîne pour modifier l'interprétation normale des caractères. Par exemple, pour imprimer des doubles virgules inversées (""), nous avons utilisé \ "dans l'exemple ci-dessus. La séquence d'échappement et son utilisation sont répertoriées ci-dessous dans le tableau.

Séquence d'échappement Utilisation
\une Cloche
\ b Retour arrière
\F Formfeed
\ n Nouvelle ligne
\ r Retour chariot
\ t Languette
\ v Onglet vertical
\\ Antislash
\ " Double citation
\ ' Guillemets simples
\ [ Support carré gauche
\] Support carré droit

Manipulation de chaînes

Lua prend en charge la chaîne pour manipuler les chaînes -

N ° Sr. Méthode et objectif
1

string.upper(argument)

Renvoie une représentation en majuscule de l'argument.

2

string.lower(argument)

Renvoie une représentation en minuscules de l'argument.

3

string.gsub(mainString,findString,replaceString)

Renvoie une chaîne en remplaçant les occurrences de findString par replaceString.

4

string.find(mainString,findString,

optionalStartIndex,optionalEndIndex)

Renvoie l'index de début et l'index de fin de findString dans la chaîne principale et nil s'il n'est pas trouvé.

5

string.reverse(arg)

Renvoie une chaîne en inversant les caractères de la chaîne transmise.

6

string.format(...)

Renvoie une chaîne formatée.

sept

string.char(arg) and string.byte(arg)

Renvoie des représentations numériques et caractères internes de l'argument d'entrée.

8

string.len(arg)

Renvoie une longueur de la chaîne transmise.

9

string.rep(string, n))

Renvoie une chaîne en répétant la même chaîne n fois.

dix

..

Ainsi, l'opérateur concatène deux chaînes.

Maintenant, plongons dans quelques exemples pour voir exactement comment ces fonctions de manipulation de chaînes se comportent.

Manipulation de cas

Un exemple de code pour manipuler les chaînes en majuscules et minuscules est donné ci-dessous.

string1 = "Lua";

print(string.upper(string1))
print(string.lower(string1))

Lorsque nous exécutons le programme ci-dessus, nous obtiendrons la sortie suivante.

LUA
lua

Remplacement d'une sous-chaîne

Un exemple de code pour remplacer les occurrences d'une chaîne par une autre est donné ci-dessous.

string = "Lua Tutorial"

-- replacing strings
newstring = string.gsub(string,"Tutorial","Language")
print("The new string is "..newstring)

Lorsque nous exécutons le programme ci-dessus, nous obtiendrons la sortie suivante.

The new string is Lua Language

Trouver et inverser

Un exemple de code pour trouver l'index de la sous-chaîne et de la chaîne d'inversion est donné ci-dessous.

string = "Lua Tutorial"

-- replacing strings
print(string.find(string,"Tutorial"))
reversedString = string.reverse(string)
print("The new string is",reversedString)

Lorsque nous exécutons le programme ci-dessus, nous obtiendrons la sortie suivante.

5	12
The new string is	lairotuT auL

Formatage des chaînes

Plusieurs fois dans notre programmation, nous pouvons avoir besoin d'imprimer des chaînes de manière formatée. Vous pouvez utiliser la fonction string.format pour formater la sortie comme indiqué ci-dessous.

string1 = "Lua"
string2 = "Tutorial"

number1 = 10
number2 = 20

-- Basic string formatting
print(string.format("Basic formatting %s %s",string1,string2))

-- Date formatting
date = 2; month = 1; year = 2014
print(string.format("Date formatting %02d/%02d/%03d", date, month, year))

-- Decimal formatting
print(string.format("%.4f",1/3))

Lorsque nous exécutons le programme ci-dessus, nous obtiendrons la sortie suivante.

Basic formatting Lua Tutorial
Date formatting 02/01/2014
0.3333

Représentations de caractères et d'octets

Un exemple de code pour la représentation de caractères et d'octets, qui est utilisé pour convertir la chaîne de chaîne en représentation interne et vice versa.

-- Byte conversion

-- First character
print(string.byte("Lua"))

-- Third character
print(string.byte("Lua",3))

-- first character from last
print(string.byte("Lua",-1))

-- Second character
print(string.byte("Lua",2))

-- Second character from last
print(string.byte("Lua",-2))

-- Internal Numeric ASCII Conversion
print(string.char(97))

Lorsque nous exécutons le programme ci-dessus, nous obtiendrons la sortie suivante.

76
97
97
117
117
a

Autres fonctions communes

Les manipulations de chaîne courantes incluent la concaténation de chaînes, la recherche de la longueur de la chaîne et parfois la répétition de la même chaîne plusieurs fois. L'exemple de ces opérations est donné ci-dessous.

string1 = "Lua"
string2 = "Tutorial"

-- String Concatenations using ..
print("Concatenated string",string1..string2)

-- Length of string
print("Length of string1 is ",string.len(string1))

-- Repeating strings
repeatedString = string.rep(string1,3)
print(repeatedString)

Lorsque nous exécutons le programme ci-dessus, nous obtiendrons la sortie suivante.

Concatenated string	LuaTutorial
Length of string1 is 	3
LuaLuaLua