stirng

string.char(n1,n2,...)根据ASCII码表返回传入的对应的字符  一般用string.char(10)是换行符

string.len(myString) 返回字符串的长度

string.sub(myStirng,start,end) 返回指定字符串的子川,start/end指定开始结束位置 Lua的数组下标是从1开始的(OMG!!!)  可以只传一个参数,表示返回start到字符串末尾的子串, 负数表示从字符串的末尾开始计算,-1表示数组最后一个

string.format():(1)格式化输出指定字符串%s表示字符串,%d表示数字,%.2f  

                          (2)还可以用来连接字符串, myString=string.format("%s%s",string1,string2)                                                    string.format第一个参数用来指定字符串的格式.

stirng.find(sourceString,findString):在sourceString中查找第一个符合findString字符的位置,返回值为开始位置和结束位置,如果没有找到则返回nil

一个很好的例子:  打印出$17.50

myString = "The price is $17.50."

fiter = "$%d%d.%d%d"

print(string.sub(myString,string.find(myString,filter)))

格式是一种模版,让Lua可以从字符串中过滤出有意义的结果

%d表示数字,%D表示非数字,即大写字母为小写字母的补集,%a是字母,%a+表示任意长度的字母。

加%前缀可以让特殊符号也能用在格式中.

替换:string.gsub(sourceString,pattern,replacementString) 返回值是一个字符串,sourceString字符串中满足pattern格式的字符都会被替换成replacementString参数的值,可在函数的最后加一个可选参数,用于指定替换的次数。例:更新电话号码中的区号:

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

]]--

你可能感兴趣的:(stirng)