Lua - Archi
La stringa è una sequenza di caratteri e caratteri di controllo come feed modulo. La stringa può essere inizializzata con tre forme che includono:
- Caratteri tra virgolette singole
- Caratteri tra virgolette doppie
- Caratteri tra [[e]]
Di seguito è riportato un esempio per le tre forme precedenti.
string1 = "Lua"
print("\"String 1 is\"",string1)
string2 = 'Tutorial'
print("String 2 is",string2)
string3 = [["Lua Tutorial"]]
print("String 3 is",string3)
Quando eseguiamo il programma precedente, otterremo il seguente output.
"String 1 is" Lua
String 2 is Tutorial
String 3 is "Lua Tutorial"
I caratteri della sequenza di escape vengono utilizzati nella stringa per modificare la normale interpretazione dei caratteri. Ad esempio, per stampare virgolette doppie (""), abbiamo usato \ "nell'esempio precedente. La sequenza di escape e il suo utilizzo sono elencati di seguito nella tabella.
Sequenza di fuga | Uso |
---|---|
\un | campana |
\ b | Backspace |
\ f | Formfeed |
\ n | Nuova linea |
\ r | Ritorno in carrozza |
\ t | Tab |
\ v | Scheda verticale |
\\ | Barra rovesciata |
\ " | Virgolette |
\ ' | Virgolette singole |
\ [ | Parentesi quadra sinistra |
\] | Parentesi quadra destra |
Manipolazione delle stringhe
Lua supporta le stringhe per manipolare le stringhe -
Sr.No. | Metodo e scopo |
---|---|
1 | string.upper(argument) Restituisce una rappresentazione in maiuscolo dell'argomento. |
2 | string.lower(argument) Restituisce una rappresentazione minuscola dell'argomento. |
3 | string.gsub(mainString,findString,replaceString) Restituisce una stringa sostituendo le occorrenze di findString con replaceString. |
4 | string.find(mainString,findString, optionalStartIndex,optionalEndIndex) Restituisce l'indice iniziale e l'indice finale della findString nella stringa principale e nil se non trovato. |
5 | string.reverse(arg) Restituisce una stringa invertendo i caratteri della stringa passata. |
6 | string.format(...) Restituisce una stringa formattata. |
7 | string.char(arg) and string.byte(arg) Restituisce rappresentazioni numeriche e di caratteri interne dell'argomento di input. |
8 | string.len(arg) Restituisce una lunghezza della stringa passata. |
9 | string.rep(string, n)) Restituisce una stringa ripetendo la stessa stringa n numero volte. |
10 | .. Quindi l'operatore concatena due stringhe. |
Ora, tuffiamoci in alcuni esempi per vedere esattamente come si comportano queste funzioni di manipolazione delle stringhe.
Manipolazione dei casi
Di seguito viene fornito un codice di esempio per la modifica delle stringhe in lettere maiuscole e minuscole.
string1 = "Lua";
print(string.upper(string1))
print(string.lower(string1))
Quando eseguiamo il programma precedente, otterremo il seguente output.
LUA
lua
Sostituzione di una sottostringa
Di seguito viene fornito un codice di esempio per la sostituzione delle occorrenze di una stringa con un'altra.
string = "Lua Tutorial"
-- replacing strings
newstring = string.gsub(string,"Tutorial","Language")
print("The new string is "..newstring)
Quando eseguiamo il programma precedente, otterremo il seguente output.
The new string is Lua Language
Trovare e invertire
Di seguito viene fornito un codice di esempio per la ricerca dell'indice della sottostringa e della stringa di inversione.
string = "Lua Tutorial"
-- replacing strings
print(string.find(string,"Tutorial"))
reversedString = string.reverse(string)
print("The new string is",reversedString)
Quando eseguiamo il programma precedente, otterremo il seguente output.
5 12
The new string is lairotuT auL
Formattazione delle stringhe
Molte volte nella nostra programmazione, potrebbe essere necessario stampare stringhe in modo formattato. È possibile utilizzare la funzione string.format per formattare l'output come mostrato di seguito.
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))
Quando eseguiamo il programma precedente, otterremo il seguente output.
Basic formatting Lua Tutorial
Date formatting 02/01/2014
0.3333
Rappresentazioni di caratteri e byte
Un codice di esempio per la rappresentazione di caratteri e byte, utilizzato per convertire la stringa da stringa a rappresentazione interna e viceversa.
-- 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))
Quando eseguiamo il programma precedente, otterremo il seguente output.
76
97
97
117
117
a
Altre funzioni comuni
Le manipolazioni comuni delle stringhe includono la concatenazione di stringhe, la ricerca della lunghezza della stringa e, a volte, la ripetizione della stessa stringa più volte. L'esempio di queste operazioni è fornito di seguito.
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)
Quando eseguiamo il programma precedente, otterremo il seguente output.
Concatenated string LuaTutorial
Length of string1 is 3
LuaLuaLua