1.字元轉換成數字 使用tonumber(類似c裡面的atoi)
mystr = "6"
mynum = tonumber(mystr)
print(mynum)
2.數字轉換成字元竄 使用tostring (類似c裡面的itoa)
mynum = 8
mystr = tostring(mynum)
print(mystr)
print(type(mystr)) --type()可以輸出變數型別
3.根據ascii編碼返回傳入引數對應的字元,string.char(...)
a = string.char(0x31,0x32,0x41)
print(a) --"12a"
4.返回字元竄的長度 string.len()
str = "hello world"
print(string.len(str))
5.根據指定起始位置來剪下乙個字元竄,string.sub(string, nstart, nend)
str = "hello world"
newstr = string.sub(str,3,5)
print(newstr) -- "llo"
假如現在我想取到乙個字元竄的後面3個字元,那麼我可以這樣來做
str = "hello world"
newstr = string.sub(str,-3,string.len(str))
print(newstr) --"rld"
或者你可以用一種更簡單的方法,直接省去nend這個引數,效果都是一樣的。
6.string.fomat() 用於字元竄拼接(類似於sprintf)
string1 = "hello"
string2 = "world"
num = 123
print(string.format("%s %d %s",string1,num,string2)) --"hello 123 world"
7.string.find()
local str = "hello"
local i,j = string.find(str, "hello") -- 返回hello在str的起始位置和終止位置
print(i, j)
--如果沒有匹配到則返回nil
還可以這樣用:
string.find函式具有乙個第三引數,他是乙個索引,告訴函式應該從目標字元竄的**開始搜尋.
使用正則
local str = "hello123world"
local i,j = string.find(str, "%d+")
print(i, j) --6 8
8.match()
注意:返回的是目標字元竄與模式相匹配的那個部分,並不是位置。也就是說返回的還是乙個字元竄
local str = "liuxinxia123456789hahahah"
substr = string.match(str, "%d+")
print(substr) --123456789
local i, j =string.find(str, "%d+")
substr =string.sub(str, i, j) -- 確定起始位置 返回乙個字元竄
print(substr)
9.gsub()
string.gsub有3個引數:目標字串、模式和替換字串。它的基本用法是將目標字串中所有出現模式的地方替換為目標字串。來看一段簡短的**,就什麼都明白了。
local str = "hello world"
local strresult = string.gsub(str, "hello", "jelly")
print(strresult) -- jelly world
另外gsub還有可選的第四個引數,可以限制替換的次數。示例**如下:
local str = "hello world"
-- 這裡不限制替換次數
local strresult, cnt = string.gsub(str, "l", "o")
print(strresult) -- heooo worod
print(cnt) -- 實際替換的次數
-- 開始限制替換次數
strresult, cnt = string.gsub(str, "l", "o", 1)
print(strresult) -- heolo world
print(cnt) -- 就替換了一次
Lua學習筆記 lua堆疊
首先了解一下c 與lua之間的通訊 假設在乙個lua檔案中有如下定義 hello.lua檔案 請注意紅色數字,代表通訊順序 1 c 想獲取lua的myname字串的值,所以它把myname放到lua堆疊 棧頂 以便lua能看到 2 lua從堆疊 棧頂 中獲取myname,此時棧頂再次變為空 3 lu...
lua學習筆記
近日時間比較充裕,學習一下lua語言,順便寫下筆記,方便以後加深學習。c c 呼叫lua動態庫及標頭檔案位址 用於c c 嵌入lua指令碼解析 也可以到或找適合自己的版本。一 hello world 哈哈,先使用經典的hello world帶進門 1.在 執行 鍵入cmd開啟dos視窗,並將當前目錄...
Lua 學習筆記
1 關於table lua 中的 table 是python 中的 list 和 dict 的混合體。t 相當於 t 簡單的看,實際上完全相當於 python 中的 dict 不過實際對於鍵為整數的,是放在 list 中的,方便快速索引。當然基於節省記憶體的考量,對於跳躍的大整數鍵,依然是放在 di...