lua string库
Posted skyflybird
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua string库相关的知识,希望对你有一定的参考价值。
相关的方法如下图所示:
len |
string.len(s) 返回字符串s的长度 |
string.len(‘abcd‘) --> 4 |
rep |
string.rep(s,n) 返回字符串s重复n次的结果 |
string.rep("1",5) --> 11111 |
reverse |
string.reverse(s) 字符串反转 |
string.reverse("abcd") --->dcba |
lower |
string.lower(s) 将大写字母转换为小写字母 可用于在忽略大小写的原则下,比较字符串 |
string.lower("HelloLua") ---> hello lua string.lower(a) < string.lower(b) |
upper |
string.upper(s) 将小写字母转换为大写字母 |
string.upper("Hello Lua") ---> HELLO LUA |
sub |
string.sub(s, i, j) 从字符串s中提取[i,j]的字符,字符串的第一个字符索引为1.也可以从负数索引 来取,-1代表字符串的最后一个字符,-2代表倒数第二个字符,以此类推 如果第三个参数为空,直接默认获取最后一个 |
local s = "hello lua" string.sub(s, 2,4) --> ell string.sub(s,-8,-6) --> ell string.sub(s,2) --> ello lua string.sub(s, -3) --> lua |
char |
string.char 用于将一个或多个整数转换成对应的字符,并返回由这些字符连接而成的字符串 |
string.char(97) -->a string.char(108,111,118,101) --> love |
byte |
string.byte(s) 用于返回字符串s中第一个字符的数值显示 string.byte(s,i) 用于返回字符串s中第i个字符的数值显示 string.byte(s,i,j) 用于返回字符串[i,j]的数值显示 由于lua语言限制了栈大小,所以也限制了返回值的最大个数,默认最大为100W个, 因此不能用于大小超过1M的字符串 |
string.byte(‘love‘) --> 108 string.byte("love",1) --> 108 string.byte("love",-4) --> 108 string.byte("love",1,-2) --> 108 111 118 |
format |
格式化字符串,与C语言中的printf的规则类似 指示符由一个百分号和一个代表格式化的字母组成, 其格式化字母d代表十进制整数,f代表浮点数,s代表字符串 x代表十六进制整数等 可用%.2f或者%0.2f来保留小数点后的数字个数 可用%2d表示用空格补齐,%04d用0补齐不足位 |
string.format("x = %f",1) --->1.000000 string.format(‘x = %0.2f‘,1.234) ---->1.23 string.format("x=%.2f",1.234) ----> 1.23 string.foramt("%2d/%04d",1,2) ----> 1/0002 |
find |
string.find(str,substr) 用于在指定字符串str搜索substr,若存在返回首尾位置,不存在返回nil |
string.find("lua","lu") --> 1 2 string.find("lua","w") -> nil |
gsub | string.gsub(str,subStr,repleaceStr) 用于在指定字符串str中将subStr替换位repleaceStr,返回新字符串且返回替换的次数 |
string.gsub("hello world","l","#") --> he##o #ua 3 |
以上是关于lua string库的主要内容,如果未能解决你的问题,请参考以下文章