lua string庫
相關的方法如下圖所示:
len |
string.len(s) 返回字符串s的長度 |
string.len(‘abcd‘) --> 4 |
rep |
string.rep(s,n) 返回字符串s重復n次的結果 |
string.rep("1",5) --> 11111 |
reverse |
string.reverse(s) 字符串反轉 |
string.reverse("abcd") --->dcba |
lower |
string.lower(s) 將大寫字母轉換為小寫字母 可用於在忽略大小寫的原則下,比較字符串 |
string.lower("HelloLua") ---> hello lua string.lower(a) < string.lower(b) |
upper |
string.upper(s) 將小寫字母轉換為大寫字母 |
string.upper("Hello Lua") ---> HELLO LUA |
sub |
string.sub(s, i, j) 從字符串s中提取[i,j]的字符,字符串的第一個字符索引為1.也可以從負數索引 來取,-1代表字符串的最後一個字符,-2代表倒數第二個字符,以此類推 如果第三個參數為空,直接默認獲取最後一個 |
local s = "hello lua" string.sub(s, 2,4) --> ell string.sub(s,-8,-6) --> ell string.sub(s,2) --> ello lua string.sub(s, -3) --> lua |
char |
string.char 用於將一個或多個整數轉換成對應的字符,並返回由這些字符連接而成的字符串 |
string.char(97) -->a string.char(108,111,118,101) --> love |
byte |
string.byte(s) 用於返回字符串s中第一個字符的數值顯示 string.byte(s,i) 用於返回字符串s中第i個字符的數值顯示 string.byte(s,i,j) 用於返回字符串[i,j]的數值顯示 由於lua語言限制了棧大小,所以也限制了返回值的最大個數,默認最大為100W個, 因此不能用於大小超過1M的字符串 |
string.byte(‘love‘) --> 108 string.byte("love",1) --> 108 string.byte("love",-4) --> 108 string.byte("love",1,-2) --> 108 111 118 |
format |
格式化字符串,與C語言中的printf的規則類似 指示符由一個百分號和一個代表格式化的字母組成, 其格式化字母d代表十進制整數,f代表浮點數,s代表字符串 x代表十六進制整數等 可用%.2f或者%0.2f來保留小數點後的數字個數 可用%2d表示用空格補齊,%04d用0補齊不足位 |
string.format("x = %f",1) --->1.000000 string.format(‘x = %0.2f‘,1.234) ---->1.23 string.format("x=%.2f",1.234) ----> 1.23 string.foramt("%2d/%04d",1,2) ----> 1/0002 |
find |
string.find(str,substr) 用於在指定字符串str搜索substr,若存在返回首尾位置,不存在返回nil |
string.find("lua","lu") --> 1 2 string.find("lua","w") -> nil |
gsub | string.gsub(str,subStr,repleaceStr) 用於在指定字符串str中將subStr替換位repleaceStr,返回新字符串且返回替換的次數 |
string.gsub("hello world","l","#") --> he##o #ua 3 |
lua string庫