string.char(n1,n2,...)根據(jù)ASCII碼表返回傳入的對應(yīng)的字符 ?一般用string.char(10)是換行符
string.len(myString) 返回字符串的長度
string.sub(myStirng,start,end) 返回指定字符串的子川,start/end指定開始結(jié)束位置?Lua的數(shù)組下標是從1開始的(OMG!!!) ?可以只傳一個參數(shù),表示返回start到字符串末尾的子串, 負數(shù)表示從字符串的末尾開始計算,-1表示數(shù)組最后一個
string.format():(1)格式化輸出指定字符串%s表示字符串,%d表示數(shù)字,%.2f ?
? ? ? ? ? ? ? ? ? ? ? ? ? (2)還可以用來連接字符串, myString=string.format("%s%s",string1,string2) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?string.format第一個參數(shù)用來指定字符串的格式.
stirng.find(sourceString,findString):在sourceString中查找第一個符合findString字符的位置,返回值為開始位置和結(jié)束位置,如果沒有找到則返回nil
一個很好的例子: ?打印出$17.50
myString = "The price is $17.50."
fiter = "$%d%d.%d%d"
print(string.sub(myString,string.find(myString,filter)))
格式是一種模版,讓Lua可以從字符串中過濾出有意義的結(jié)果
%d表示數(shù)字,%D表示非數(shù)字,即大寫字母為小寫字母的補集,%a是字母拯杠,%a+表示任意長度的字母嚷那。
加%前綴可以讓特殊符號也能用在格式中.
替換:string.gsub(sourceString,pattern,replacementString) 返回值是一個字符串,sourceString字符串中滿足pattern格式的字符都會被替換成replacementString參數(shù)的值拧簸,可在函數(shù)的最后加一個可選參數(shù),用于指定替換的次數(shù)。例:更新電話號碼中的區(qū)號:
custData = "(309) 555-1234" ?
custData = string.gsub(custData,"%(%d%d%d%)","(781)")
print (custData) ?--prints "(781) 555-1234"
再例:myString = "happy,hello,home,hot,hudson"
myString = string.gsub(myString,"h%a+","An H word!",2)
print (myString) ? --An H word!,An H word!,home,hot,huson
查找:string.gfind(sourceString,pattern) ? --遍歷一個字符串零蓉,一旦找到符合指定格式的字符串就返回該字符串。例:myString = "This is my rather long string."
print (myString)
counter = 1
for myWord in string.gfind(myString,"%a+") do
print (string.format("Word #%d: %s",counter ,myWord))
counter = counter+1
end
--[[
This is my rather long string.
Word #1: This
Word #2:?is
Word #3:?my
Word #4:?rather
Word #5:?long
Word #6: string
]]--