Lua 里字符串用单引号或双引号都行,两边必须配对,用法上没差别。引号、换行这类字符用反斜杠转义。
local a = 'hello'
local b = "hello"
local c = "他说:\"走\""
local d = 'it\'s ok'
local e = "第一行\n第二行"
多行文本用两个方括号包起来,里面的转义不生效,紧跟在开头的换行会被忽略。
local html = [[
<div>
内容
</div>
]]
拼接用两个点,数字会自动转成字符串;取长度用 #。
local s = "abc" .. 1
print(s) -- abc1
print(#s) -- 4
常用函数有 string.format 做格式化、string.sub 截取、string.find 查找、string.gsub 替换、string.rep 重复、string.upper 和 string.lower 转大小写。字符串也能用冒号形式直接调用方法。
local s = "Hello Lua"
print(string.sub(s, 1, 5)) -- Hello
print(s:upper()) -- HELLO LUA
print(string.format("%s-%d", "id", 8)) -- id-8
print(string.rep("ab", 2)) -- abab
print(string.gsub(s, "Lua", "World")) -- Hello World
记住字符串是不可变的,所有操作都返回新串,原来的字符串不会被改动。