字符串是一個(gè)字符序列,以及控制字符。字符串可以用三種形式被初始化,其中包括:
對(duì)于上述三種形式的一個(gè)例子如下所示。
string1 = "Lua" print(""String 1 is"",string1) string2 = 'Tutorial' print("String 2 is",string2) string3 = [["Lua Tutorial"]] print("String 3 is",string3)
當(dāng)我們運(yùn)行上面的程序,會(huì)得到下面的輸出。
"String 1" is Lua String 2 is Tutorial String 3 is "Lua Tutorial"
轉(zhuǎn)義字符序列中使用字符串來(lái)改變字符的正常解釋。例如打印雙引號(hào)(“”)在上面的例子中,我們已經(jīng)使用“轉(zhuǎn)義序列,并且其使用列于下表中。
| 轉(zhuǎn)義序列 | 使用 |
|---|---|
| a | Bell |
| Backspace | |
| f | Formfeed |
| New line | |
| Carriage return | |
| Tab | |
| v | Vertical tab |
| Backslash | |
| " | Double quoutes |
| ' | Single quotes |
| [ | Left square bracket |
| ] | Right square bracket |
Lua支持字符串操作字符串:
| S.N. | 方法及用途 |
|---|---|
| 1 |
string.upper(argument): 返回參數(shù)的大寫表示。 |
| 2 |
string.lower(argument): 返回參數(shù)的小寫表示。 |
| 3 |
string.gsub(mainString,findString,replaceString) 返回一個(gè)字符串,通過(guò)replaceString替換查找字符串的出現(xiàn)。 |
| 4 |
string.strfind(mainString,findString,optionalStartIndex,optionalEndIndex) 如果未找到,則返回該查找字符串在主字符串和零的起始索引和結(jié)束索引。 |
| 5 |
string.reverse(arg) 返回一個(gè)字符串,通過(guò)反轉(zhuǎn)傳遞的字符串的字符。 |
| 6 |
string.format(...) 返回一個(gè)格式化字符串。 |
| 7 |
string.char(arg) and string.byte(arg) 返回輸入?yún)?shù),內(nèi)部的數(shù)字和字符表示。 |
| 8 |
string.len(arg) 返回傳遞的字符串的長(zhǎng)度。 |
| 9 |
string.rep(string, n)) 返回一個(gè)字符串,通過(guò)重復(fù)相同的字符串N多次。 |
| 10 |
.. 因此,運(yùn)算符連接兩個(gè)字符串。 |
用于操縱字符串轉(zhuǎn)換大寫和和小寫的樣品代碼如下。
string1 = "Lua"; print(string.upper(string1)) print(string.lower(string1))
當(dāng)我們運(yùn)行上面的程序,會(huì)得到下面的輸出。
LUA lua
與另一個(gè)替換一個(gè)字符串的出現(xiàn)次數(shù)示例代碼如下。
string = "Lua Tutorial" -- replacing strings newstring = string.gsub(string,"Tutorial","Language") print("The new string is",newstring)
當(dāng)我們運(yùn)行上面的程序,會(huì)得到下面的輸出。
The new string is Lua Language
查找字符串的索引和扭轉(zhuǎn)字符串中的示例代碼如下。
string = "Lua Tutorial" -- replacing strings print(string.find(string,"Tutorial")) reversedString = string.reverse(string) print("The new string is",reversedString)
當(dāng)我們運(yùn)行上面的程序,會(huì)得到下面的輸出。
5 12 The new string is lairotuT auL
在我們的編程很多時(shí)候,我們可能需要在一個(gè)格式化的方式進(jìn)行打印的字符串??梢允褂米址?。格式化函數(shù)格式化輸出,如下圖所示。
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))
當(dāng)我們運(yùn)行上面的程序,會(huì)得到下面的輸出。
Basic formatting Lua Tutorial Date formatting 02/01/2014 0.3333
字符和字節(jié)表示一個(gè)示例代碼,用于從字符串轉(zhuǎn)換字符串內(nèi)部表示,反之亦然。
-- Byte conversion -- First character print(string.byte("Lua")) -- Third上一篇:Lua邏輯運(yùn)算符下一篇:Lua循環(huán)