一、前言
不管任何编程语言,都会涉及到对字符串的操作,而且使用范围相当广泛,所以我们今天要来着重讲解下字符串的概念。

二、字符串定义
lua中表示字符串的方式有四种,如下:

lua 防转义 lua 转义字符_lua

以上就是所有表示字符串的方法了。

三、字符串的转义
很多时候我们在输出的时候,需要用到转义字符,比如换行,空格,如下:

转义字符

意义

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位十六进制所代表的任意字符

二位十六进制

以上便是常用的转义字符,摘自菜鸟教程

四、字符串操作方法

1.大小写转换

lua 防转义 lua 转义字符_lua 防转义_02

2.字符串格式化输出

lua 防转义 lua 转义字符_lua_03

lua中的字符串格式化输出使用的是格式控制符,如下:

%s 采用字符串格式

%d 采用整数格式

%f 采用浮点数格式 %0.2f 保留两位小数

%x 采用小写的十六进制格式

%X 采用大写的十六进制格式

%o 采用八进制格式

%c 将数字转化为ascii码

3.字符串替换

lua 防转义 lua 转义字符_编程语言_04

该方法接收四个参数,即:要被替换的字符串,指定替换前的字符,指定替换后的字符,指定替换次数,如果不指定替换次数则全部替换,否则指定多少就替换多少个指定的要被替换的字符。

4.字符串查找

查找第一个出现在指定字符串中字符的位置,找不到的话就返回nil,如下:

lua 防转义 lua 转义字符_字符串_05

参数分别为目标字符串,目标字符,开始位置。还有一个方法也可以查找字符串,只不过他不像find,返回的是查找到的第一个位置,他是直接返回匹配值,如下:

lua 防转义 lua 转义字符_十六进制_06

lua还有一个匹配字符的方法,不过返回的是一个迭代器,如下:

lua 防转义 lua 转义字符_lua_07

每当迭代器调用时,返回下一个匹配到的子串的函数对象。还有一个和gmatch一样返回的都是迭代器对象,使用方法一样,就是gfind,这里不再赘述。

5.清除字符串中的空格

lua没有专门的清除空格的方法,我们可以使用字符串替换方法,如下:

lua 防转义 lua 转义字符_lua_08

我们还可以将这个方法封装为函数来使用,如下:

lua 防转义 lua 转义字符_lua_09

这样就可以使用封装好的函数来清除空格了。

6.字符串反转和计算长度

lua 防转义 lua 转义字符_十六进制_10

7.字符串转换

lua 防转义 lua 转义字符_十六进制_11

8.字符串连接和拷贝

lua 防转义 lua 转义字符_编程语言_12

9.字符串截取

lua 防转义 lua 转义字符_lua_13

五、总结
以上就是lua中的字符串的所有方法了,总的来说比较简单,不过相信大家知道了lua中的字符串中没有split和join方法,其实这两个方法我们可以自己实现,只不过目前学到的知识还无法实现,等到后面我们学到了足够多的知识以后,小编来带大家实现这两个方法。