一、 字符串
字符串或串(String)是由数字、字母、下划线组成的一串字符。
1. 语法
Lua 语言中字符串可以使用以下三种方式来表示:
- 单引号间的一串字符。
- 双引号间的一串字符。
- [[ 与 ]] 间的一串字符。
string1 = "Lua"
print("\"字符串 1 是\"",string1)
string2 = 'baidu.com'
print("字符串 2 是",string2)
string3 = [["Lua 字符串"]]
print("字符串 3 是",string3)
"字符串 1 是" Lua
字符串 2 是 baidu.com
字符串 3 是 "Lua 字符串"
2. 转义字符
转义字符用于表示不能直接显示的字符,比如后退键,回车键等。
所有的转义字符和所对应的意义:

二、字符串函数
1. 字符串全部转为大写字母
演示如下:
local string1 = "AbCd"
print(string.upper(string1)) --> ABCD
2. 字符串全部转为小写字母
string.lower(argument)
演示如下:
local string1 = "AbCd"
print(string.lower(string1)) -->abcd
3. 字符串中替换
string.gsub(mainString,findString,replaceString,num)
mainString 为要操作的字符串, findString 为被替换的字符,replaceString 要替换的字符,num 替换次数(可以忽略,则全部替换)
演示如下:
local string1 = "AbCd"
local string2 = string.gsub(string1, "d", 's', 1)
--> AbCs
4. 字符串查找
string.find (str, substr, [init, [plain]])
在一个指定的目标字符串 str 中搜索指定的内容 substr,如果找到了一个匹配的子串,就会返回这个子串的起始索引和结束索引,不存在则返回 nil。
init 指定了搜索的起始位置,默认为 1,可以一个负数,表示从后往前数的字符个数。
plain 表示是否以正则表达式匹配。
演示如下:
string2 = "AbCs"
s, e = string.find(string2, "bC", 2)
print(s, e) --> 2 3
5. 字符串反转
string.reverse(arg)
演示如下:
string2 = "AbCs"
print(string.reverse(string2))
--> sCbA
print(string2)
--> AbCs
6. 字符串格式化
string.format(…)
返回一个类似printf的格式化字符串
演示如下:
string.format("the value is : %x", 123)
--> 7b
7. 字符与整数相互转换
string.char(arg)
char 将整型数字转成字符并连接。
演示如下:
string.char(97, 98, 99)
--> abc
string.byte(arg[,int])
byte 转换字符为整数值 (可以指定某个字符,默认第一个字符)。
演示如下:
string.byte("abcd", 2)
--> 98
string.byte("abcd")
--> 97
8. 字符串长度
string.len(arg)
演示如下:
9. 字符串拷贝
string.rep(string, n)
返回字符串string的n个拷贝
演示如下:
string3 = "pwd"
string.rep(string3, 3)
--> pwdpwdpwd
10. 链接两个字符串
..
演示如下:
print("baidu" .. 'com')
--> baiducom