获取字符串的长度

字符串变量
获取字符串长度
特殊点:中文字符一个算3位长度

  1. str = "abcde"
  2. print(#str)

转义字符

转义字符用于表示不能直接显示的字符,比如后退键,回车键,等。如在字符串转换双引号可以使用 “\””。
所有的转义字符和所对应的意义:

转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF) ,将当前位置移到下一行开头 010
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下一个TAB位置) 009
\v 垂直制表(VT) 011
\\ 代表一个反斜线字符’’\‘ 092
\‘ 代表一个单引号(撇号)字符 039
\“ 代表一个双引号字符 034
\0 空字符(NULL) 000
\ddd 1到3位八进制数所代表的任意字符 三位八进制
\xhh 1到2位十六进制所代表的任意字符 二位十六进制

字符串拼接

通过..进行字符串拼接

print("aaa".."bbb")

string.format
%d 数字
%s 字符串
%a 任意

print(string.format("输出一个数字 %d",9)

转为字符串

tostring(v)

字符串提供的公共方法

小写转大写

string.upper(str)

大写转小写

string.lower(str)

逆置字符串

string.reverse(str)

查找字符串索引位置

string.find(str, pattern)

str = "abcde"
print(string.find(str, "cd"))

output: 3 4

说明:
lua中的索引从1开始

截取字符串

string.sub(str, i)
string.sub(str, i, j)

print(string.sub("abcde", 3))
print(string.sub("abcde", 2, 3))

output: cde bc

字符串重复

string.rep(str, n)

print(string.rep("abc",3))

output: abcabcabc

字符串修改

string.gsub(str, pattern, repl)
string.gsub(str, pattern, repl, n) n被用于限制替换的次数

print(string.gsub("acdbcdecd", "cd", "##"))
print(string.gsub("acdbcdecd", "cd", "##", 2))

output: a##b##e## 3 a##b##ecd 2

字符串转ASCII码

string.byte(str)
string.byte(str, i, j)

print(string.byte("Lua"))

output: 76

ASCII码转字符

print(string.char(76))

output: L