Lua 字符串操作

函数 功能
string.upper(argument) 字符串全部转为大写字母
string.lower(argument) 字符串全部转为小写字母
string.gsub(mainString,findString,replaceString,num) 字符串替换
string.find (str, substr, [init, [end]]) 字符串查找
string.reverse(arg) 字符串反转
string.format(…) 格式化字符串
string.char(arg) 将整型数组转成字符并连接
string.byte(arg[,int]) 转换字符为整数值
string.len(arg) 计算字符串长度
string.rep(string, n) 返回字符串string的n个拷贝
.. 字符串连接

字符串操作示例

有字符串:

1
str = "AbAbAb";
  1. upper
1
2
3
print(string.upper(str));

-- ABABAB
  1. lower
1
2
3
print(string.lower(str));

-- ababab
  1. gsub
1
2
3
4
5
print(string.gsub(str, "Ab", "aB"));
print(string.gsub(str, "Ab", "aB", 2));
-- 输出
-- aBaBaB 3
-- aBaBAb 2
  1. find

第四个可选参数默认为flase,传入参数true表示关闭模式匹配,所以函数只做简单的查找子串的操作。

简书文章:Lua string.find()

  1. reverse
1
2
3
print(string.reverse(str));
-- 输出
-- bAbAbA
  1. format
1
2
3
print(string.format("emmm %s", str));
-- 输出
-- emmm AbAbAb
  1. char
1
2
3
print(string.char(97, 98, 99));
-- 输出
-- abc
  1. byte
1
2
3
4
5
6
7
8
9
print(string.byte("abc"));
print(string.byte("abc", 2));
print(string.byte("abc", 1, 3));
print(string.byte("abc", 1, 4));
-- 输出
-- 97
-- 98
-- 97 98 99
-- 97 98 99
  1. len
1
2
3
print(string.len(str));
-- 输出
-- 6
  1. 连接符
1
2
3
print("abc" .. "ABC");
-- 输出
-- abcABC