Lua - 字符串
-
简述
字符串是一个字符序列以及像换页这样的控制字符。字符串可以用三种形式初始化,包括 -- 单引号之间的字符
- 双引号之间的字符
- [[ 和 ]] 之间的字符
以上三种形式的示例如下所示。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 钟 \b 退格 \F 换页 \n 新队 \r 回车 \t 制表符 \v 垂直制表符 \\ 反斜杠 \" 双引号 \' 单引号 \[ 左方括号 \] 右方括号 -
字符串操作
Lua 支持字符串操作字符串 -序号 方法和目的 1 string.upper(argument)返回参数的大写表示。2 string.lower(argument)返回参数的小写表示。3 string.gsub(mainString,findString,replaceString)通过用 replaceString 替换 findString 的出现来返回一个字符串。4 string.find(mainString,findString,optionalStartIndex,optionalEndIndex)返回主字符串中 findString 的开始索引和结束索引,如果未找到则返回 nil。5 string.reverse(arg)通过反转传递的字符串的字符来返回字符串。6 string.format(...)返回一个格式化的字符串。7 string.char(arg) and 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