lua string 庫(kù)

--lua中字符串索引從前往后是1,2,……,從后往前是-1,-2……。

--string庫(kù)中所有的function都不會(huì)直接操作字符串,只返回一個(gè)結(jié)果。

--------------------------------------------------------------------------------------------------

【基本函數(shù)】

函數(shù)描述示例結(jié)果

len計(jì)算字符串長(zhǎng)度string.len("abcd")4

rep返回字符串s的n個(gè)拷貝string.rep("abcd",2)abcdabcd

lower返回字符串全部字母大寫string.lower("AbcD")abcd

upper返回字符串全部字母小寫string.upper("AbcD")ABCD

format返回一個(gè)類似printf的格式化字符串string.format("the value is:%d",4)the value is:4

subreturns substring from index i to j of sstring.sub("abcd",2)bcd

string.sub("abcd",-2)cd

string.sub("abcd",2,-2)bc

string.sub("abcd",2,3)bc

find在字符串中查找string.find("cdcdcdcd","ab")nil

string.find("cdcdcdcd","cd")1?2

string.find("cdcdcdcd","cd",7)7?8

gsub在字符串中替換string.gsub("abcdabcd","a","z");zbcdzbcd?2

string.gsub("aaaa","a","z",3);zzza?3

byte返回字符的整數(shù)形式string.byte("ABCD",4)68

char將整型數(shù)字轉(zhuǎn)成字符并連接string.char(97,98,99,100)abcd

--------------------------------------------------------------------------------------------------

【基本模式串】

字符類描述示例結(jié)果

.任意字符string.find("",".")nil

%s空白符string.find("ab?cd","%s%s")3?4

%S非空白符string.find("ab?cd","%S%S")1?2

%p標(biāo)點(diǎn)字符string.find("ab,.cd","%p%p")3?4

%P非標(biāo)點(diǎn)字符string.find("ab,.cd","%P%P")1?2

%c控制字符string.find("abcd\t\n","%c%c")5?6

%C非控制字符string.find("\t\nabcd","%C%C")3?4

%d數(shù)字string.find("abcd12","%d%d")5?6

%D非數(shù)字string.find("12abcd","%D%D")3?4

%x十六進(jìn)制數(shù)字string.find("efgh","%x%x")1?2

%X非十六進(jìn)制數(shù)字string.find("efgh","%X%X")3?4

%a字母string.find("AB12","%a%a")1?2

%A非字母string.find("AB12","%A%A")3?4

%l小寫字母string.find("ABab","%l%l")3?4

%L大寫字母string.find("ABab","%L%L")1?2

%u大寫字母string.find("ABab","%u%u")1?2

%U非大寫字母string.find("ABab","%U%U")3?4

%w字母和數(shù)字string.find("a1()","%w%w")1?2

%W非字母非數(shù)字string.find("a1()","%W%W")3?4

--------------------------------------------------------------------------------------------------

【轉(zhuǎn)義字符%】

字符類描述示例結(jié)果

%轉(zhuǎn)義字符string.find("abc%..","%%")4?4

string.find("abc..d","%.%.")4?5

--------------------------------------------------------------------------------------------------

【用[]創(chuàng)建字符集,"-"為連字符,"^"表示字符集的補(bǔ)集】

字符類描述示例結(jié)果

[01]匹配二進(jìn)制數(shù)string.find("32123","[01]")3?3

[AB][CD]匹配AC、AD、BC、BDstring.find("ABCDEF","[AB][CD]")2?3

[[]]匹配一對(duì)方括號(hào)[]string.find("ABC[]D","[[]]")4?5

[1-3]匹配數(shù)字1-3string.find("312","[1-3][1-3][1-3]")1?3

[b-d]匹配字母b-dstring.find("dbc","[b-d][b-d][b-d]")1?3

[^%s]匹配任意非空字符string.find("?a?","[^%s]")3?3

[^%d]匹配任意非數(shù)字字符string.find("123a","[^%d]")4?4

[^%a]匹配任意非字母字符string.find("abc1","[^%a]")4?4

--------------------------------------------------------------------------------------------------

【用"()"進(jìn)行捕獲】

字符類描述示例結(jié)果

()捕獲字符串string.find("12ab","(%a%a)")3?4?ab

string.find("ab12","(%d%d)")3?4?12

--------------------------------------------------------------------------------------------------

【模式修飾符】

修飾符描述示例結(jié)果

+表示1個(gè)或多個(gè),匹配最多個(gè)string.find("aaabbb","(a+b)")1?4?aaab

string.find("cccbbb","(a+b)")nil

-表示0個(gè)或多個(gè),匹配最少個(gè)string.find("zzxyyy","(xy-)")3?3?x

string.find("zzzyyy","(x-y)")4?4?y

*表示0個(gè)或多個(gè),匹配最多個(gè)string.find("mmmnnn","(m*n)")1?4?mmmb

string.find("lllnnn","(m*n)")4?4?n

?表示0個(gè)或1個(gè)string.find("aaabbb","(a?b)")3?4?ab

string.find("cccbbb","(a?b)")4?4?b

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • string庫(kù)提供了字符串處理的通用函數(shù)。 例如字符串查找、子串、模式匹配等。 當(dāng)在 Lua 中對(duì)字符串做索引時(shí),...
    chiguozi閱讀 4,215評(píng)論 0 3
  • string庫(kù)中所有的字符索引從前往后是1,2,...;從后往前是-1,-2,... string庫(kù)中所有的fun...
    Nimanggi閱讀 577評(píng)論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,551評(píng)論 19 139
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問(wèn)題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,914評(píng)論 0 33
  • 我徒步半天 快中午的時(shí)候 到了八卦田 已是清明假期的第二天 游人不多不少 我駐足 思考著該順時(shí)針走還是逆時(shí)針走 四...
    shaggie閱讀 262評(píng)論 0 0

友情鏈接更多精彩內(nèi)容