Lua里面的字符串是由:字母、数字、下划线组成的一串字符,有下面三种组成方式:
由单引号括起来:' this is a string'
由双引号括起来: " this is a string"
如果字符串太长的话,可以由两个中括号括起来:[[ Hello,Welcome to Lua study],this is a string]
当我们将这三个字符串都输出的时候:
string1 = 'this is string1'
string2 = "this is string2"
string3 = [[ Hello Welcome to Lua study,this is a string ]]
print(string1)
print(string2)
print(string3)
输出结果:
Lua里面有一种最简单的字符串连接:“..”
使用两个点来连接字符串:
print("Hello ".."Lua user")
输出结果:
字符串的类型就是:string类型,在Lua中,为string类型提供很多操作字符串的接口,来供我们使用,在Lua中使用字符串主要的就是使用这些接口。
表格中使用的string1,string2,string3就是我们在第一个输出结果里面定义的字符串
将字符串变成全大写 string.upper() |
print(string.upper(string1)) 输出结果>>THIS IS STRING1 |
将字符串变成全小写 string.lower() |
print(string.lower(string2)) 输出结果>>this is string2 |
将指定的字符串替换成指定的部分 string.gsub(mainString,findString,replaceString,num) |
mainString:要替换的字符串 findString:需要替换的字符 replaceString:替换成这个参数所传的字符 num:替换的次数 eg:print(string.gsub(string1,"s","Q",2)) 输出结果:thiQ iQ string1 2 |
在目标字符串当中寻找指定的字符串 string.find (str, substr, [init, [end]]) |
str:目标字符串 substr:需要查找的字符串 最后一个参数可以吧他当做索引:我们传1 eg:print( string.find (string1, "is", 1)) 输出结果:3 4 |
字符串的反转 string.reverse(arg) |
eg:print(string.reverse(string1)) 输出结果:1gnirts si siht |
按照一定的格式输出字符串 string.format(...) |
eg: print( string.format("this is a value : %d",4)) 输出结果:this is a value : 4 |
将整数转化成字符并连接 string.char() |
eg:print(string.char(97,98,99,100)) 输出结果;abcd |
将指定位置的字符转化成对应的指数 string.byte(mainstring,index) |
eg:print(string.byte("abcd",4)) 输出结果:100 |
计算字符串的长度 string.len(arg) |
eg:print(string.len(string1)) 输出结果:15 |
返回字符串的n个拷贝 string.rep(string, n) |
eg:print( string.rep(string1, 2)) 输出结果:this is string1this is string1 |
返回字符串中符合描述的字符 string.gmatch(str,pattern) |
str:目标字符串 pattern:希望在str里面能找到的符合pattern这个格式的字符,pattern就是一个格式标准 eg:for word in string.gmatch("This is a number: 4","%d") do print(word) end 输出结果:4 |
返回字符串中符合描述的字符串(可设置起始位置) string.match(str, pattern, init) |
str:目标字符串 pattern:所描述的格式 init:在字符串里面查找的起始位置,默认为1 eg: print(string.match("this is 2 question", "%d %a+", 1)) 输出结果:2 question |
下面是字符串匹配的转义字符表示格式:
.(点): 与任何字符配对
%a: 与任何字母配对
%c: 与任何控制符配对(例如\n)
%d: 与任何数字配对
%l: 与任何小写字母配对
%p: 与任何标点(punctuation)配对
%s: 与空白字符配对
%u: 与任何大写字母配对
%w: 与任何字母/数字配对
%x: 与任何十六进制数配对
%z: 与任何代表0的字符配对
%x(此处x是非字母非数字字符): 与字符x配对. 主要用来处理表达式中有功能的字符(^$()%.[]*+-?)的配对问题, 例如%%与%配对