Latest web development tutorials

Lua ciąg

Ciąg lub ciągi znaków (String) jest ciągiem znaków składa się z liczb, liter, ich podkreślenia.

Lua ciągi językowe mogą być wyrażone za pomocą jednej z następujących metod:

  • Pojedynczy ciąg znaków między cudzysłowie.
  • Ciąg znaków między cudzysłowy.
  • [[I]] między ciągiem znaków.

Przykłady wyżej ciągu trzech sposobów, w następujący sposób:

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

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

Wyjście jest powyższy kod jest wykonywany:

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

Ucieczka znak reprezentuje nie mogą być wyświetlane bezpośrednio, takich jak plecy klucz, klawisz Enter, i tak dalej. Jak w cudzysłów może być użyty do konwersji ciągu znaków "\". "

Wszystko postać ucieczki oraz odpowiadające im znaczenia:

escape character
znaczenie
wartość ASCII (po przecinku)
\ a
Bell (BEL)
007
\ B
Backspace (BS), aktualna pozycja do poprzedniego
008
\ F
Wysunięcie strony (FF), aktualna pozycja na początek następnej stronie
012
\ N
nowego wiersza (LF), aktualna pozycja do początku następnego wiersza
010
\ R
Powrotu karetki (CR), aktualna pozycja na początek linii
013
\ T
Zakładka pozioma (HT) (przejście do następnej pozycji TAB)
009
\ V
Pionowy wypust (VT)
011
\\
Reprezentacji znaku ukośnika '\'
092
\ '
Na znak (apostrof) imieniu jednym cytatem
039
\ "
Stanowi znak cudzysłowu
034
\ 0
Charakter Null (NULL)
000
\ Ddd
Dowolna liczba znaków 1-3 ósemkowy reprezentowany
trzy ósemkowy
\ xhh
1-2 znaków w systemie szesnastkowym oznacza dowolną
Dwa szesnastkowym

Manipulacja String

Lua oferuje wiele sposobów wspierania funkcjonowania łańcucha:

Nie. Metoda & Purpose
1 string.upper (argument):
String wszystkie wielkie litery.
2 string.lower (argument):
String wszystkie małe litery.
3 string.gsub (mainString, findString, replaceString, num)
W ciągu zastępowania, mainString chce zastąpić ciąg, findString dla postaci, które zostały zastąpione, replaceString zastąpienie znaków num Wymień Występowanie (może być ignorowane, a następnie zastąpić wszystkie), takich jak:
> string.gsub("aaaa","a","z",3);
zzza	3
4 string.strfind (str, substr [startowych [end]])
Szukaj określonej treści (trzeci parametr dla indeksu) na określony ciąg docelowego i zwraca jego lokalizację. Nie istnieje, zwraca zero.
> string.find("Hello Lua user", "Lua", 1) 
7	9
5 string.reverse (Arg)
Aby odwrócić ciąg
> string.reverse("Lua")
auL
6 String.Format (...)
Zwraca format sznurki jak printf
> string.format("the value is:%d",4)
the value is:4
7 string.char (Arg) oraz string.byte (arg [, int])
char liczb całkowitych zamieni się znaków i połączeń, znaków bajt konwertowane na wartość całkowitą (można określić charakter, pierwszy znak domyślnie).
> string.char(97,98,99,100)
abcd
> string.byte("ABCD",4)
68
> string.byte("ABCD")
65
>
8 string.len (Arg)
Oblicz długość łańcucha.
string.len("abc")
3
9 string.rep (łańcuch, n))
Zwraca n kopii łańcucha łańcuch
> string.rep("abcd",2)
abcdabcd
10 ..
Połącz dwa ciągi
> print("www.w3cschool".."cc")
www.w3cschoolcc

String przypadku konwersji

Poniższy przykład pokazuje, jak zamienić ciąg znaków:

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

Powyższy kod jest wykonywany w wyniku:

LUA
lua

Ciąg wsteczny i wyszukiwania

Poniższy przykład pokazuje, jak znaleźć i ciąg operacji odwrotnej:

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

Powyższy kod jest wykonywany w wyniku:

5	12
新字符串为	lairotuT auL

String formatowanie

Poniższy przykład pokazuje, jak sformatować ciąg:

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))

Powyższy kod jest wykonywany w wyniku:

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

Charakter i całkowita konwersja

Poniższe przykłady pokazują konwersji znaków i liczb całkowitych:

-- 字符转换
-- 转换第一个字符
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))

Powyższy kod jest wykonywany w wyniku:

76
97
97
117
117
a

Inne powszechnie używane funkcje

Poniższe przykłady pokazują inne operacje, takie jak sznurek obliczania Długość łańcucha konkatenacji, a replikacja ciąg:

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

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

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

Powyższy kod jest wykonywany w wyniku:

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