字符串是字符序列以及控制字符(如换页)的序列。字符串可以用三种形式初始化,包括-
下面是上述三种形式的示例。
string1 = "Lua" print("\"String 1 is\"",string1) string2 = 'Tutorial' print("String 2 is",string2) string3 = [["Lua Tutorial"]] print("String 3 is",string3)
当无涯教程运行上面的程序时,将得到以下输出。
"String 1 is" Lua String 2 is Tutorial String 3 is "Lua Tutorial"
字符串中使用转义序列字符来更改字符的常规解释。如,在上面的示例中,使用\"来打印双引号逗号("")。转义序列及其用法在下表中列出。
| 转义序列 | 使用 |
|---|---|
| \a | Bell |
| \b | 退格键 |
| \f | 换页 |
| \n | 换行 |
| \r | 回车 |
| \t | Tab |
| \v | "垂直"标签 |
| \\ | 反斜杠 |
| \" | 双引号 |
| \' | 单引号 |
| \[ | 左方括号 |
| \] | 右方括号 |
Lua支持字符串来操纵字符串-
| Sr.No. | Method & Purpose |
|---|---|
| 1 | string.upper(argument) 返回参数的大写形式。 |
| 2 | string.lower(argument) 返回参数的小写形式。 |
| 3 | string.gsub(mainString,findString,replaceString) 通过将findString替换为replaceString来返回字符串。 |
| 4 | string.find(mainString,findString,optionalStartIndex,optionalEndIndex) 返回主字符串中findString的开始索引和结束索引,如果未找到则返回nil。 |
| 5 | string.reverse(arg) 通过反转传递的字符串的字符来返回字符串。 |
| 6 | string.format(...) 返回格式化的字符串。 |
| 7 | string.char(arg)和string.byte(arg) 返回输入参数的内部数字和字符表示形式。 |
| 8 | string.len(arg) 返回传递的字符串的长度。 |
| 9 | string.rep(string,n)) 通过重复相同的字符串n次返回一个字符串。 |
| 10 | .. 因此,运算符将两个字符串连接在一起。 |
string1 = "Lua"; print(string.upper(string1)) print(string.lower(string1))
当无涯教程运行上面的程序时,将得到以下输出。
LUA
lua下面给出了用一个字符串替换另一个字符串的示例代码。
string = "Lua Tutorial" -- replacing strings newstring = string.gsub(string,"Tutorial","Language") print("The new string is "..newstring)
当运行上面的程序时,将得到以下输出。
The new string is Lua Language
下面给出了用于查找子字符串和反向字符串的索引的示例代码。
string = "Lua Tutorial" -- replacing strings print(string.find(string,"Tutorial")) reversedString = string.reverse(string) print("The new string is",reversedString)
当运行上面的程序时,将得到以下输出。
5 12 The new string is lairotuT auL
在编程中,很多时候,可能需要以格式化的方式打印字符串。您可以使用string.format函数格式化输出,如下所示。
string1 = "Lua" string2 = "Tutorial" number1 = 10 number2 = 20 -- Basic string formatting print(string.format("Basic formatting %s %s",string1,string2)) -- Date formatting date = 2; month = 1; year = 2014 print(string.format("Date formatting %02d/%02d/%03d", date, month, year)) -- Decimal formatting print(string.format("%.4f",1/3))
当运行上面的程序时,将得到以下输出。
Basic formatting Lua Tutorial Date formatting 02/01/2014 0.3333
字符和字节表示形式的示例代码,用于将字符串从字符串转换为内部表示,反之亦然。
-- Byte conversion -- First character print(string.byte("Lua")) -- Third character print(string.byte("Lua",3)) -- first character from last print(string.byte("Lua",-1)) -- Second character print(string.byte("Lua",2)) -- Second character from last print(string.byte("Lua",-2)) -- Internal Numeric ASCII Conversion print(string.char(97))
当运行上面的程序时,将得到以下输出。
76 97 97 117 117 a
常见的字符串操作包括字符串连接,查找字符串的长度以及有时重复同一字符串多次。这些操作的示例在下面给出。
string1 = "Lua" string2 = "Tutorial" -- String Concatenations using .. print("Concatenated string",string1..string2) -- Length of string print("Length of string1 is ",string.len(string1)) -- Repeating strings repeatedString = string.rep(string1,3) print(repeatedString)
当运行上面的程序时,无涯教程将得到以下输出。
Concatenated string LuaTutorial Length of string1 is 3 LuaLuaLua
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
Python实战 · 从0到1搭建直播视频平台 -〔Barry〕