lua -字符串

字符串有數字,字母和下劃線組成,用單引號‘ ’雙引號“” 或者雙中括號[[]]

轉義字符 :/a /b /r // 等

字符串操作:

大小寫轉換 :string.upper(string1)   string.lower(string2)

替換:string.gsub(mainstring,findstring,replacestring,num) 從mainstring中查找findstring,將其替換爲replacestring,替換個數爲num,默認爲全部替換

查找:string.find(str,strsub,[init,end]) 在字符串str中的位置從init到end查找strsub字符串。返回其位置

字符串反轉 :string.reverse(arg) 

格式化輸出:string.format(...) 如string.format("the value is:%d",4)   結果爲   the value is:4

%c %d/i/o/u/x/X/e/f/F  

(1) 符號: 一個+號表示其後的數字轉義符將讓正數顯示正號. 默認情況下只有負數顯示符號.

(2) 佔位符: 一個0, 在後面指定了字串寬度時佔位用. 不填時的默認佔位符是空格.

(3) 對齊標識: 在指定了字串寬度時, 默認爲右對齊, 增加-號可以改爲左對齊.

(4) 寬度數值

(5) 小數位數/字串裁切: 在寬度數值後增加的小數部分n, 若後接f(浮點數轉義符, 如%6.3f)則設定該浮點數的小數只保留n位, 若後接s(字符串轉義符, 如%5.3s)則設定該字符串只顯示前n位

轉換字符與ascii碼 :string.char(num1,num2,...)將整數轉換爲對應的字母,並且連起來組成字符串;如string.char(97,98) 結果ab

string.byte(arg,[int])對字符串arg的位置爲int的字符轉換爲整數,默認int爲開頭,string.byte('ABCD')結果65

計算長度:string.len(arg)

拷貝:string.rep(string1,n) 返回字符串string1的n個拷貝

鏈接:..操作符 如a=‘qq’..‘bb’   結果a=qqbb

查找:string.gmatch(str,pattern) 返回在str中查找符合pattern的子串,如果沒找到,返回nil

匹配:string.match(str,pattern,init)返回從str中查找到爲pattern的第一個位置,初始查找位置init,默認爲1;

匹配模式:

單個字符(除 ^$()%.[]*+-? 外): 與該字符自身配對

.(點): 與任何字符配對

%a: 與任何字母配對

%c: 與任何控制符配對(例如\n)

%d: 與任何數字配對

%l: 與任何小寫字母配對

%p: 與任何標點(punctuation)配對

%s: 與空白字符配對

%u: 與任何大寫字母配對

%w: 與任何字母/數字配對

%x: 與任何十六進制數配對

%z: 與任何代表0的字符配對

%x(此處x是非字母非數字字符): 與字符x配對. 主要用來處理表達式中有功能的字符(^$()%.[]*+-?)的配對問題, 例如%%與%配對

[數個字符類]: 與任何[]中包含的字符類配對. 例如[%w_]與任何字母/數字, 或下劃線符號(_)配對

[^數個字符類]: 與任何不包含在[]中的字符類配對. 例如[^%s]與任何非空白字符配對

當上述的字符類用大寫書寫時, 表示與非此字符類的任何字符配對. 例如, %S表示與任何非空白字符配對。

模式條目可以是:

單個字符類匹配該類別中任意單個字符;

單個字符類跟一個 '*', 將匹配零或多個該類的字符。 這個條目總是匹配儘可能長的串;

單個字符類跟一個 '+', 將匹配一或更多個該類的字符。 這個條目總是匹配儘可能長的串;

單個字符類跟一個 '-', 將匹配零或更多個該類的字符。 和 '*' 不同, 這個條目總是匹配儘可能短的串;

單個字符類跟一個 '?', 將匹配零或一個該類的字符。 只要有可能,它會匹配一個;

%n, 這裏的 n 可以從 1 到 9; 這個條目匹配一個等於 n 號捕獲物(後面有描述)的子串。

%bxy, 這裏的 x 和 y 是兩個明確的字符; 這個條目匹配以 x 開始 y 結束, 且其中 x 和 y 保持 平衡 的字符串。 意思是,如果從左到右讀這個字符串,對每次讀到一個 x 就 +1 ,讀到一個 y 就 -1, 最終結束處的那個 y 是第一個記數到 0 的 y。 舉個例子,條目 %b() 可以匹配到括號平衡的表達式。

%f[set], 指 邊境模式; 這個條目會匹配到一個位於 set 內某個字符之前的一個空串, 且這個位置的前一個字符不屬於 set 。 集合 set 的含義如前面所述。 匹配出的那個空串之開始和結束點的計算就看成該處有個字符 '\0' 一樣。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章