Lua字符串库(string库)学习笔记
Lua字符串是像其他编程语言中字符串一样的不可变的序列。Lua提供了强大的字符串操作方法来帮助我们对字符串进行处理。本篇笔记将详细讲解Lua字符串库(string库)的常用方法。
Lua字符串的基本操作
字符串长度
字符串长度用 #
进行求值,例如:
local str = "hello world"
print(#str) --输出: 11
字符串连接
字符串连接使用 ..
进行操作,例如:
local str1 = "hello"
local str2 = "world"
print(str1..str2) --输出: helloworld
字符串重复
字符串可以使用 string.rep(str, n)
来重复 n 次字符串元素,例如:
local str = "hello"
print(string.rep(str, 3)) --输出: hellohellohello
字符串截取
字符串截取通过 string.sub(str, start, end)
进行操作,其中 start
表示开始位置,end
表示结束位置。如果 end
为空,则截取到字符串结尾。例如:
local str = "hello world"
print(string.sub(str, 1, 5)) --输出: hello
print(string.sub(str, 7)) --输出: world
字符串查找
字符串查找使用 string.find(str, pattern, [init, [plain]])
进行操作,其中 pattern
表示要查找的模式,init
表示查找的起始位置,默认从字符串开头查找,plain
表示是否关闭模式匹配。例如:
local str = "hello world"
print(string.find(str, "world")) --输出: 7
字符串替换
字符串替换基于正则表达式,在 Lua 中使用 string.gsub(str, pattern, repl [, n])
方法进行操作,其中 pattern
表示匹配的正则表达式,repl
表示替换的字符串或函数,n
表示最大替换次数,默认为全部替换。例如:
local str = "hello world"
print(string.gsub(str, "world", "Lua")) --输出: hello Lua
例子1
下面是一个字符串反转的例子:
local str = "hello world"
local reverse_str = ""
for i = #str, 1, -1 do
reverse_str = reverse_str .. string.sub(str, i, i)
end
print(reverse_str) --输出: dlrow olleh
例子2
下面是一个字符串切分的例子:
local str = "food, drink, and entertainment"
local t = {}
for s in string.gmatch(str, "[^,%s]+") do
table.insert(t, s)
end
for i,v in ipairs(t) do
print(i, v)
end
--[[
输出:
1 food
2 drink
3 and
4 entertainment
]]
以上就是关于Lua字符串库(string库)的常用操作介绍。希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Lua字符串库(string库)学习笔记 - Python技术站