Latest web development tutorials

string Lua

Chaîne ou des chaînes (String) est une chaîne de caractères se compose de chiffres, des lettres, souligne celui-ci.

Lua chaînes de langue peuvent être exprimées en utilisant les méthodes suivantes:

  • Chaîne unique de caractères entre les guillemets.
  • Une chaîne de caractères entre les guillemets doubles.
  • [[Et]] entre une chaîne de caractères.

Des exemples de la chaîne au-dessus de trois façons comme suit:

string1 = "Lua"
print("\"字符串 1 是\"",string1)
string2 = 'w3cschool.cc'
print("字符串 2 是",string2)

string3 = [["Lua 教程"]]
print("字符串 3 是",string3)

La sortie est le code ci-dessus est exécuté:

"字符串 1 是"	Lua
字符串 2 是	w3cschool.cc
字符串 3 是	"Lua 教程"

Caractère d'échappement représente ne peut pas être affiché directement, comme la touche de retour, la touche Entrée, et ainsi de suite. Comme dans des guillemets doubles peuvent être utilisés pour convertir la chaîne "\". "

Tout le caractère d'échappement et les significations correspondantes:

Caractère d'échappement
sens
valeur ASCII (décimal)
\ A
Bell (BEL)
007
\ B
Backspace (BS), la position actuelle à la précédente
008
\ F
Saut de (FF), la position actuelle au début de la page suivante
012
\ N
Saut de ligne (LF), la position actuelle au début de la ligne suivante
010
\ R
Un retour chariot (CR), la position actuelle au début de la ligne
013
\ T
Tabulation horizontale (HT) (passez à la prochaine position de TAB)
009
\ V
Tab Vertical (VT)
011
\\
Représenter un caractère backslash '\'
092
\ '
Au nom d'une seule offre (apostrophe) caractère
039
\ "
Elle représente un double guillemet
034
\ 0
Caractère nul (NULL)
000
\ Ddd
Tout numéro de caractère 1-3 octal représenté
Trois octal
\ xhh
1-2 caractère hexadécimal représente tout
Deux hexadécimale

manipulation de chaînes

Lua offre de nombreuses façons de soutenir le fonctionnement de la chaîne:

Non. Méthode & Objet
1 string.upper (argument):
Chaîne toutes les lettres majuscules.
2 string.lower (argument):
Chaîne toutes les lettres minuscules.
3 string.gsub (mainString, findString, replaceString, num)
Dans la chaîne de remplacement, mainString veulent remplacer la chaîne, findString pour les personnages qui ont été remplacés, replaceString pour remplacer les caractères, num Remplacer Occurrence (peut être ignoré, puis remplacer tous), tels que:
> string.gsub("aaaa","a","z",3);
zzza	3
4 string.strfind (str, substr, [INIT , [fin]])
Recherche pour le contenu spécifié (le troisième paramètre pour l'indice) à une chaîne de cible spécifiée et renvoie son emplacement. Ne pas exister, il renvoie nil.
> string.find("Hello Lua user", "Lua", 1) 
7	9
5 string.reverse (arg)
Pour inverser une chaîne
> string.reverse("Lua")
auL
6 string.format (...)
Renvoie un printf comme les chaînes de format
> string.format("the value is:%d",4)
the value is:4
7 string.char (arg) et string.byte (arg [, int])
nombres entiers omble se transforment en personnages et les connexions, les caractères d'octets convertis en une valeur entière (vous pouvez spécifier un caractère, le premier caractère par défaut).
> string.char(97,98,99,100)
abcd
> string.byte("ABCD",4)
68
> string.byte("ABCD")
65
>
8 string.len (arg)
Compute longueur de la chaîne.
string.len("abc")
3
9 string.rep (chaîne, n))
Renvoie n copies de la chaîne de chaîne
> string.rep("abcd",2)
abcdabcd
10 ..
Lien deux chaînes
> print("www.w3cschool".."cc")
www.w3cschoolcc

conversion de la casse de chaîne

L'exemple suivant montre comment convertir un cas de chaîne:

string1 = "Lua";
print(string.upper(string1))
print(string.lower(string1))

Le code ci-dessus est exécutée à la suite de:

LUA
lua

recherche String et inverse

L'exemple suivant montre comment la chaîne à trouver et opération inverse:

string = "Lua Tutorial"
-- 查找字符串
print(string.find(string,"Tutorial"))
reversedString = string.reverse(string)
print("新字符串为",reversedString)

Le code ci-dessus est exécutée à la suite de:

5	12
新字符串为	lairotuT auL

Le formatage de chaîne

L'exemple suivant montre comment formater une chaîne:

string1 = "Lua"
string2 = "Tutorial"
number1 = 10
number2 = 20
-- 基本字符串格式化
print(string.format("基本格式化 %s %s",string1,string2))
-- 日期格式化
date = 2; month = 1; year = 2014
print(string.format("日期格式化 %02d/%02d/%03d", date, month, year))
-- 十进制格式化
print(string.format("%.4f",1/3))

Le code ci-dessus est exécutée à la suite de:

基本格式化 Lua Tutorial
日期格式化 02/01/2014
0.3333

conversion de caractères entier

Les exemples suivants illustrent la conversion de caractères et un entier:

-- 字符转换
-- 转换第一个字符
print(string.byte("Lua"))
-- 转换第三个字符
print(string.byte("Lua",3))
-- 转换末尾第一个字符
print(string.byte("Lua",-1))
-- 第二个字符
print(string.byte("Lua",2))
-- 转换末尾第二个字符
print(string.byte("Lua",-2))

-- 整数 ASCII 码转换为字符
print(string.char(97))

Le code ci-dessus est exécutée à la suite de:

76
97
97
117
117
a

Autres fonctions couramment utilisées

Les exemples suivants illustrent d'autres opérations de chaîne, tels que le calcul de la longueur de la chaîne, la concaténation, la réplication de chaîne:

string1 = "www."
string2 = "w3cschool"
string3 = ".cc"
-- 使用 .. 进行字符串连接
print("连接字符串",string1..string2..string3)

-- 字符串长度
print("字符串长度 ",string.len(string2))

-- 字符串复制 2 次
repeatedString = string.rep(string2,2)
print(repeatedString)

Le code ci-dessus est exécutée à la suite de:

连接字符串	www.w3cschool.cc
字符串长度 	9
w3cschoolw3cschool