国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

Lua 字符串

2022-06-25 15:16 更新

字符串或串(String)是由數(shù)字、字母、下劃線組成的一串字符。

Lua 語言中字符串可以使用以下三種方式來表示:

  • 單引號(hào)間的一串字符。
  • 雙引號(hào)間的一串字符。
  • [[和]]間的一串字符。

以上三種方式的字符串實(shí)例如下:

string1 = "Lua"
print("\"字符串 1 是\"",string1)
string2 = 'w3cschool.cn'
print("字符串 2 是",string2)

string3 = [["Lua 教程"]] print("字符串 3 是",string3)

以上代碼執(zhí)行輸出結(jié)果為:

"字符串 1 是" Lua
字符串 2 是    w3cschool.cn
字符串 3 是   "Lua 教程"

轉(zhuǎn)義字符用于表示不能直接顯示的字符,比如后退鍵,回車鍵,等。比如在我們需要使用到雙引號(hào)的時(shí)候可以使用?\"?來實(shí)現(xiàn)。

所有的轉(zhuǎn)義字符和所對(duì)應(yīng)的意義:

轉(zhuǎn)義字符
意義
ASCII碼值(十進(jìn)制)
\a
響鈴(BEL)
007
\b
退格(BS) ,將當(dāng)前位置移到前一列
008
\f
換頁(FF),將當(dāng)前位置移到下頁開頭
012
\n
換行(LF) ,將當(dāng)前位置移到下一行開頭
010
\r
回車(CR) ,將當(dāng)前位置移到本行開頭
013
\t
水平制表(HT) (跳到下一個(gè)TAB位置)
009
\v
垂直制表(VT)
011
\\
代表一個(gè)反斜線字符''\'
092
\'
代表一個(gè)單引號(hào)(撇號(hào))字符
039
\"
代表一個(gè)雙引號(hào)字符
034
空字符(NULL)
000
\ddd
1到3位八進(jìn)制數(shù)所代表的任意字符
三位八進(jìn)制
\xhh
1到2位十六進(jìn)制所代表的任意字符
二位十六進(jìn)制

字符串操作

Lua 提供了很多的方法來支持字符串的操作:

序號(hào)方法 & 用途
1string.upper(argument):
字符串全部轉(zhuǎn)為大寫字母。
2string.lower(argument):
字符串全部轉(zhuǎn)為小寫字母。
3string.gsub(mainString,findString,replaceString,num)
在字符串中替換,mainString為要替換的字符串, findString 為被替換的字符,replaceString 要替換的字符,num 替換次數(shù)(可以忽略,則全部替換),如:
> string.gsub("aaaa","a","z",3);
zzza 3
4string.find (str, substr, [init, [end]])
在一個(gè)指定的目標(biāo)字符串中搜索指定的內(nèi)容(第三個(gè)參數(shù)為索引),返回其具體位置。不存在則返回 nil。
> string.find("Hello Lua user", "Lua", 1) 
7 9
5string.reverse(arg)
字符串反轉(zhuǎn)
> string.reverse("Lua")
auL
6string.format(...)
返回一個(gè)類似printf的格式化字符串
> string.format("the value is:%d",4)
the value is:4
7string.char(arg) 和 string.byte(arg[,int])
char 將整型數(shù)字轉(zhuǎn)成字符并連接, byte 轉(zhuǎn)換字符為整數(shù)值(可以指定某個(gè)字符,默認(rèn)第一個(gè)字符)。
> string.char(97,98,99,100)
abcd

string.byte("ABCD",4) 68 string.byte("ABCD") 65

8string.len(arg)
計(jì)算字符串長度。
string.len("abc")
3
9string.rep(string, n))
返回字符串string的n個(gè)拷貝
> string.rep("abcd",2)
abcdabcd
10..
鏈接兩個(gè)字符串
> print("www.w3cschool"..".cn")
eska-fuses.cn

字符串大小寫轉(zhuǎn)換

以下實(shí)例演示了如何對(duì)字符串大小寫進(jìn)行轉(zhuǎn)換:

string1 = "Lua";
print(string.upper(string1))
print(string.lower(string1))

以上代碼執(zhí)行結(jié)果為:

LUA
lua

字符串查找與反轉(zhuǎn)

以下實(shí)例演示了如何對(duì)字符串進(jìn)行查找與反轉(zhuǎn)操作:

string = "Lua Tutorial"
-- 查找字符串
print(string.find(string,"Tutorial"))
reversedString = string.reverse(string)
print("新字符串為",reversedString)

以上代碼執(zhí)行結(jié)果為:

5    12
新字符串為   lairotuT auL

字符串格式化

以下實(shí)例演示了如何對(duì)字符串進(jìn)行格式化操作:

string1 = "Lua"
string2 = "Tutorial"
number1 = 10
number2 = 20
-- 基本字符串格式化
print(string.format("基本格式化 %s %s",string1,string2))
-- 日期格式化
date = 2; month = 1; year = 2014
print(string.format("日期格式化 %02d/%02d/%03d", date, month, year))
-- 十進(jìn)制格式化
print(string.format("%.4f",1/3))

以上代碼執(zhí)行結(jié)果為:

基本格式化 Lua Tutorial
日期格式化 02/01/2014
0.3333

字符與整數(shù)相互轉(zhuǎn)換

以下實(shí)例演示了字符與整數(shù)相互轉(zhuǎn)換:

-- 字符轉(zhuǎn)換
-- 轉(zhuǎn)換第一個(gè)字符
print(string.byte("Lua"))
-- 轉(zhuǎn)換第三個(gè)字符
print(string.byte("Lua",3))
-- 轉(zhuǎn)換末尾第一個(gè)字符
print(string.byte("Lua",-1))
-- 第二個(gè)字符
print(string.byte("Lua",2))
-- 轉(zhuǎn)換末尾第二個(gè)字符
print(string.byte("Lua",-2))

-- 整數(shù) ASCII 碼轉(zhuǎn)換為字符 print(string.char(97))

以上代碼執(zhí)行結(jié)果為:

76
97
97
117
117
a

其他常用函數(shù)

以下實(shí)例演示了其他字符串操作,如計(jì)算字符串長度,字符串連接,字符串復(fù)制等:

string1 = "www."
string2 = "w3cschool"
string3 = ".cn"
-- 使用 .. 進(jìn)行字符串連接
print("連接字符串",string1..string2..string3)

-- 字符串長度 print("字符串長度 ",string.len(string2))

-- 字符串復(fù)制 2 次 repeatedString = string.rep(string2,2) print(repeatedString)

以上代碼執(zhí)行結(jié)果為:

連接字符串     eska-fuses.cn
字符串長度     9
w3cschoolw3cschool


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)