一、 字符串
字符串或串(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. 字符串全部转为大写字母
- string.upper(argument)
演示如下:
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)
演示如下:
string.len("abc") --> 3
9. 字符串拷贝
string.rep(string, n)
返回字符串string的n个拷贝
演示如下:
string3 = "pwd" string.rep(string3, 3) --> pwdpwdpwd
10. 链接两个字符串
..
演示如下:
print("baidu" .. 'com') --> baiducom