1.转大小写
Lua
str1="zxcvbnm";
print(str1);
print(string.upper(str1));
print(string.lower(string.upper(str1)));
2.长度
Lua
str1="zxcvbnm";
print(str1);
print(string.len(str1));
str2="等待";
print(string.len(str2));
str3="大小1";
print(string.len(str3));
3.反转
Lua
str1="zxcvbnm";
print(str1);
print(string.reverse(str1));
4.连接
Lua
str1="zxcvbnm";
print(str1);
print("123".."adadd"..str1..123 ..789 ..str1);
在连接时,要连接的类型是number的需要在后面加一个空格
5.截取
string.sub(s, i, j) 将字符串 s 的第 i 个字符到第 j 个字符的闭区间的字符串截取出来成为一个新的子串
Lua
str1=" 1234567890";
print(str1);
print(string.sub(str1,1,5));
6.查找
string.find(s, pattern, init, plain) 在字符串 s 中查找子串 pattern ,如果找到则返回pattern的起始和结束位置,没有找到返回nil
Lua
str1="asd12345674890";
print(str1);
print(string.find(str1,"456"));
print(string.find(str1,"456",1)); --从指定位置开始查找
print(string.find(str1,"4561",1)); --查找不到返回nil
print(string.find(str1,"456",-10)); --如果是负数,则从字符串长度加上这个负数的位置开始查找
print(string.find(str1,"%d",1)); --最后一个参数默认是false,开启正则匹配
print(string.find(str1,"%d",1,true)); --最后一个参数是true,直接搜索字符串
print(string.find(str1,"(%d%d%d)")); --第三个返回值,为正则匹配上的值
运行结果:
Lua
asd12345674890
7 9
7 9
nil
7 9
4 4
nil
4 6 123
7.替换
string.gsub(s, pattern, repl, n) 将字符串 s 中的 pattern 配上的字符串替换为 repl 字符串,n 为最大替换次数,返回替换完的字符串以及替换次数
Lua
str1="abc,123,abc,ABC,abc,abc";
print(str1);
print(string.gsub(str1,"bc","BC"));
print(string.gsub(str1,"bc","BC",2));
运行结果:
Lua
abc,123,abc,ABC,abc,abc
aBC,123,aBC,ABC,aBC,aBC 4
aBC,123,aBC,ABC,abc,abc 2
8.ASSCII码互转
Lua
print(string.char(65));
print(string.char(65,66,67));
print(string.byte("A"));
print(string.byte("B"));