1. lua 語言中字串可以使用以下三種方式來表示:
string1 = "lua"
string2 = 'runoob.com'
string3 = [["lua 教程"]]
2. 字串轉義符:
\a \b \f \n \r \t \v \\ \' \" \0 \ddd \xhh
3. 字串操作方法:
string.upper(「string」):轉為大寫字母。
string.lower("string"):轉為小寫字母。
string.gsub("mainstrng","oldstring","newstrng",num):在字串中替換。源字串,要從源中替換掉的字串,要替換成的字串,查詢要替換多少次(可以忽略,則全部替換)。
string.find (「string」, "substring", startindex):搜尋指定的內容(第三個引數為索引),返回其具體位置。不存在則返回 nil。
string.reverse("string"):字串內容反轉
string.format(...)返回乙個類似printf的格式化字串 string.format("the value is:%d",4)
string.char(arg) 和 string.byte(arg[,int])string.char(97,98,99,100) string.byte("abcd",4) string.byte("abcd")
string.len(「string」)計算字串長度。
string.rep("string", num)返回字串string的n個拷貝。
.. 連線兩個字串
string.gmatch(「string」, pattern)
string.match("string", pattern, init)只尋找源字串str中的第乙個配對. 引數init可選, 指定搜尋過程的起點, 預設為1。
在成功配對時, 函式將返回配對表示式中的所有捕獲結果; 如果沒有設定捕獲標記, 則返回整個配對字串. 當沒有成功的配對時, 返回nil。
4. 字串格式化:
格式字串可能包含以下的轉義碼:
為進一步細化格式, 可以在%號後新增引數. 引數將以如下的順序讀入:
5. 字元與整數之間相互轉換
-- 轉換第乙個字元
print(string.byte("lua"))
-- 轉換第三個字元
print(string.byte("lua",3))
-- 轉換末尾第乙個字元
print(string.byte("lua",-1))
-- 第二個字元
print(string.byte("lua",2))
-- 轉換末尾第二個字元
print(string.byte("lua",-2))
-- 整數 ascii 碼轉換為字元
print(string.char(97))
執行結果:76 97 97 117 117 a
6. 匹配模式:
字元類%d匹配任意數字
s = "deadline is 30/05/1999, firm"
date = "%d%d/%d%d/%d%d%d%d"
print(string.sub(s, string.find(s, date))) --> 30/05/1999
下面的表列出了lua支援的所有字元類:
單個字元(除 ^$()%.*+-? 外): 與該字元自身配對
當上述的字元類用大寫書寫時, 表示與非此字元類的任何字元配對. 例如, %s表示與任何非空白字元配對.例如,'%a'非字母的字元:
> print(string.gsub("hello, up-down!", "%a", "."))數字4不是字串結果的一部分,他是gsub返回的第二個結果,代表發生替換的次數。hello..up.down. 4
在模式匹配中有一些特殊字元,他們有特殊的意義,lua中的特殊字元如下:
( ) . % + - * ? [ ^ $'%' 用作特殊字元的轉義字元,因此 '%.' 匹配點;'%%' 匹配字元 '%'。轉義字元 '%'不僅可以用來轉義特殊字元,還可以用於所有的非字母的字元。
模式條目可以是:
模式:
模式 指乙個模式條目的序列。 在模式最前面加上符號 '^
' 將錨定從字串的開始處做匹配。 在模式最後面加上符號 '$
' 將使匹配過程錨定到字串的結尾。 如果 '^
' 和 '$
' 出現在其它位置,它們均沒有特殊含義,只表示自身。
捕獲:
模式可以在內部用小括號括起乙個子模式; 這些子模式被稱為 捕獲物。 當匹配成功時,由 捕獲物 匹配到的字串中的子串被儲存起來用於未來的用途。 捕獲物以它們左括號的次序來編號。 例如,對於模式"(a*(.)%w(%s*))"
, 字串中匹配到"a*(.)%w(%s*)"
的部分儲存在第乙個捕獲物中 (因此是編號 1 ); 由 ".
" 匹配到的字元是 2 號捕獲物, 匹配到 "%s*
" 的那部分是 3 號。
作為乙個特例,空的捕獲()
將捕獲到當前字串的位置(它是乙個數字)。 例如,如果將模式"()aa()"
作用到字串"flaaap"
上,將產生兩個捕獲物: 3 和 5 。
第九章 字串,字元和位元組
1.nul位元組是字串終止符,但它本身並不是字串的一部分,所以字串的長度並不包括nul位元組。2.size t這個型別是在標頭檔案stddef.h中定義的,返回長度。3.連線字串 strcat strcpy message,hello strcat message,customer name str...
第九章(筆記)
轉移指令是可以修改ip,或同時修改cs和ip的指令 offset 是用於提取標號偏移位址的操作符 jmp在第2章裡說到時用於修改ip或同時修改cs和ip的轉移指令,這章裡單獨的jmp指令是乙個無條件的轉移指令 jmp short 標號 是實現段內短轉移 jmp near ptr 標號 是實現段內近轉...
第九章作業
班級 0401304 學號 2013211526 姓名 鄧小俊 2.身份驗證 依據使用者所提供的身份資訊,來進行登入驗證,可以再細分為使用者是否可以登入sql sever 使用者是否可以登入到指定的目標資料庫等。授權 已通過身份驗證的使用者,檢查其所被賦予的許可權,是否可以訪問或者執行目標的物件 3...