Lua 字符串

Lua 字符串
字符串或串(String)是由數字、字母、下劃線組成的一串字符。

Lua 語言中字符串可以使用以下三種方式來表示:

單引號間的一串字符。
雙引號間的一串字符。
[[]]間的一串字符。
以上三種方式的字符串實例如下:

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

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

以上代碼執行輸出結果爲:

"字符串 1 是" Lua
字符串 2 是    w3cschool.cn
字符串 3"Lua 教程"
轉義字符用於表示不能直接顯示的字符,比如後退鍵,回車鍵,等。如在字符串轉換雙引號可以使用 "\""
字符串操作
Lua 提供了很多的方法來支持字符串的操作:

序號    方法 & 用途
1    string.upper(argument):
字符串全部轉爲大寫字母。
2    string.lower(argument):
字符串全部轉爲小寫字母。
3    string.gsub(mainString,findString,replaceString,num)
在字符串中替換,mainString爲要替換的字符串, findString 爲被替換的字符,replaceString 要替換的字符,num 替換次數(可以忽略,則全部替換),如:
> string.gsub("aaaa","a","z",3);
zzza 3
4    string.find (str, substr, [init, [end]])
在一個指定的目標字符串中搜索指定的內容(第三個參數爲索引),返回其具體位置。不存在則返回 nil> string.find("Hello Lua user", "Lua", 1) 
7 9
5    string.reverse(arg)
字符串反轉
> string.reverse("Lua")
auL
6    string.format(...)
返回一個類似printf的格式化字符串
> string.format("the value is:%d",4)
the value is:4
7    string.char(arg) 和 string.byte(arg[,int])
char 將整型數字轉成字符並連接, byte 轉換字符爲整數值(可以指定某個字符,默認第一個字符)。
> string.char(97,98,99,100)
abcd


string.byte("ABCD",4)
68
string.byte("ABCD")
65


8    string.len(arg)
計算字符串長度。
string.len("abc")
3
9    string.rep(string, n))
返回字符串string的n個拷貝
> string.rep("abcd",2)
abcdabcd
10    ..
鏈接兩個字符串
> print("www.w3cschool"..".cn")
www.w3cschool.cn
字符串大小寫轉換
以下實例演示瞭如何對字符串大小寫進行轉換:

string1 = "Lua";
print(string.upper(string1))
print(string.lower(string1))
以上代碼執行結果爲:

LUA
lua
字符串查找與反轉
以下實例演示瞭如何對字符串進行查找與反轉操作:

string = "Lua Tutorial"
-- 查找字符串
print(string.find(string,"Tutorial"))
reversedString = string.reverse(string)
print("新字符串爲",reversedString)
以上代碼執行結果爲:

5    12
新字符串爲   lairotuT auL
字符串格式化
以下實例演示瞭如何對字符串進行格式化操作:

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))
以上代碼執行結果爲:

基本格式化 Lua Tutorial
日期格式化 02/01/2014
0.3333
字符與整數相互轉換
以下實例演示了字符與整數相互轉換:

-- 字符轉換
-- 轉換第一個字符
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))

以上代碼執行結果爲:

76
97
97
117
117
a
其他常用函數
以下實例演示了其他字符串操作,如計算字符串長度,字符串連接,字符串複製等:

string1 = "www."
string2 = "w3cschool"
string3 = ".cn"
-- 使用 .. 進行字符串連接
print("連接字符串",string1..string2..string3)

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


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

以上代碼執行結果爲:

連接字符串     www.w3cschool.cn
字符串長度     9
w3cschoolw3cschool

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章