lua字符串遍历
一、 基本概念:
lua 中的字符串是一个不可变的对象,它保存在内存中的一段连续空间中,大小可以任意,不受限制,且以“\0”作为结尾符号。 lua 中的字符串支持多种数据类型,如数字、字符、布尔类型等。通常情况下,我们使用字符串函数来操作 lua 中的字符串。
二、 字符串操作:
1. 字符串连接: “..”是字符串连接操作符,可以将两个字符串连接成一个字符串。
例子:
s1="hello,world" s2="lua world" s3=s1..s2 -- 将s1和s2连接成一个新的字符串 print(s3) -- 输出hello,worldlua world
2. 字符串重复: “*”是字符串重复操作符,可以将一个字符串重复多次,生成一个新的字符串。
例子:
s1="ab" print(s1*5) -- 输出ababababab
3. 字符串长度: 可以使用 #符号来获得一个字符串的长度
例子:
s1="hello,world" print(#s1) -- 输出11
lua字符串转数组4. 字符串查: 字符串查是 lua 中经常使用的操作之一,它可以在一个字符串中查子串,并返回子串的起始位置和结束位置,如果没有到,则返回 nil。
例子:
s1="hello,world" print(string.find(s1,"world")) -- 输出7 12
5. 字符串替换: 使用 string.gsub 来做字符串替换。
例子:
s1="hello,world" s2="world" s3="Lua" print(string.gsub(s1,s2,s3)) -- 输出hello,Lua
6. 字符串截取: 截取字符串可以使用 string.sub 来实现。
例子:
s1="hello,world" print(string.sub(s1,2,4)) -- 输出ell
7. 字符串转化: 字符串转换是 lua 中非常重要的一个操作,可以将一个字符串转换为数字或整型等数据类型。
例子:
s1="123" print(tonumber(s1)) -- 输出123
8. 字符串大小写转换: 使用 string.lower 和 string.upper 将字符串转换为小写和大写。
例子:
s1="HELLO,WORLD" print(string.lower(s1)) -- 输出hello,world
9. 字符串格式化: 使用 string.format 来进行字符串格式化。
例子:
s1=string.format("%d,%s",123,"hello") print(s1) -- 输出123,hello
10. 字符串分割: 可以使用 atch 来分割字符串,并返回分割后的结果。
例子:
s1="hello,world" for word atch(s1,"(%a+)") do print(word) end
输出结果:
hello world
三、字符串的遍历:
在 lua 中,可以使用 string.sub 来截取字符串的任意一部分,通过循环截取不同的子串,从而达到遍历整个字符串的效果。
例子:
s1="hello,world" for i=1, #s1 do print(string.sub(s1,i,i)) end
输出结果:
h e l l o , w o r l d�
四、总结:
通过上述的学习,我们可以使用多种方式来操作 lua 中的字符串,实现不同的功能。需要注意的是,字符串是不可变的,因此,对字符串进行操作时,应该生成一个新的字符串,而不是直接修改原有的字符串。同时,对于字符串操作时的性能问题也需要考虑,应该选择适合当前需求的操作方式。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论