茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    Lua 學(xué)習(xí)筆記(六) —— 字符串操作
    來(lái)源:易賢網(wǎng) 閱讀:1668 次 日期:2015-08-24 14:15:01
    溫馨提示:易賢網(wǎng)小編為您整理了“Lua 學(xué)習(xí)筆記(六) —— 字符串操作”,方便廣大網(wǎng)友查閱!

    定義

    例子

    x = string.match("1001 is a Robot","001") print(x) --> 001 x = string.match("1001 is a Robot","%d%d") print(x) --> 10

    string.gmatch(s,pattern)

    返回一個(gè)迭代函數(shù),該函數(shù)每執(zhí)行一次,就返回下一個(gè)捕捉到的匹配(如果沒(méi)有使用捕捉,就返回整個(gè)匹配結(jié)果)。

    例子

    for s in string.gmatch("I have a Dream.","%a+") do print(s) end --> I --> have --> a --> Dream

    t = {} s = "name=tangyikejun, number=20250001" -- 將捕獲的兩個(gè)子串分別作為鍵和值放到表t中 for k, v in string.gmatch(s, "(%w+)=(%w+)") do t[k] = v end -- 輸出表t for k,v in pairs(t) do print(k,v) end --> name tangyikejun --> number 20250001

    string.format(formatstring,...)

    返回格式化之后的字符串。

    定義

    例子

    string.format("My name is %s", "tangyikejun") --> My name is tangyikejun

    string.len(s)

    返回字符串長(zhǎng)度

    string.lower(s)

    返回小寫(xiě)字母的字符串

    string.upper(s)

    返回大寫(xiě)字母的字符串

    string.rep(s,n)

    對(duì)字符串進(jìn)行重復(fù)

    定義

    string.rep([字符串],[重復(fù)次數(shù)])

    例子

    string.rep("Hello",4) -- HelloHelloHelloHello

    string.reverse(s)

    返回反轉(zhuǎn)后的字符串。

    string.sub(s,i[,j])

    返回子字符串。

    定義

    string.sub([字符串],[開(kāi)始字符下標(biāo)],[結(jié)束字符下標(biāo)]=-1)

    例子

    x = string.sub("tangyikejun",7) print(x) --> kejun x = string.sub("tangyikejun",1,-6) print(x) --> tangyi

    string.gsub(s,pattern,repl[,n])

    根據(jù)模式匹配對(duì)字符串中每一個(gè)匹配部分都做替換處理,返回替換后的字符串。

    定義

    string.gsub([字符串],[模式匹配],[替換字符],[最大替換次數(shù)] = 無(wú)限制)

    repl 參數(shù)([替換字符])支持 字符串、表、函數(shù)。

    如果 repl 是字符串,那么該字符串就是用于替換的字符串。同時(shí)支持 %n 轉(zhuǎn)義符操作,n 的范圍是 0-9。n 范圍為 [1,9] 時(shí)表示第 n 個(gè)捕獲的匹配字符串,%0 表示整個(gè)匹配的字符串,%% 表示替換為一個(gè) %。

    如果 repl 是表,那么將捕獲的第一個(gè)字符串作為鍵值(Key)進(jìn)行查詢(xún)(沒(méi)有定義捕捉則以整個(gè)匹配的字符串為鍵值),查到的值作為替換的字符串。

    如果 repl 是函數(shù),那么每次匹配成功都會(huì)調(diào)用該函數(shù),并以按序以所有捕捉作為參數(shù)傳入函數(shù)。沒(méi)有捕捉則以整個(gè)匹配的字符作為參數(shù)。

    如果從表或函數(shù)得到是字符串或者是數(shù)字,就將其用于替換;如果得到的是 false 或 nil,那么匹配部分將不會(huì)發(fā)生變化。

    例子

    repl 為字符串

    s = "Never say die." x = string.gsub(s,"die","never") --> Never say never. x = string.gsub(s,"die","'%0'") --> Never say 'die'. x = string.gsub(s,"(%a+)%s%a+%s(%a+)","%2") --> die.

    限制最大替換次數(shù)

    s = "never say never." x = string.gsub(s,"never","Never",1) --> Never say never.

    repl 是表

    t = {name="Lua",version="5.1"} x = string.gsub("$name-$version.tar.gz","$(%a+)",t) --> Lua-5.1.tar.gz

    repl是函數(shù)

    x = string.gsub("4+5 = $return 4+5$","%$(.-)%$",function(s)return loadstring(s)() end) --> 4+5 = 9 x = string.gsub("23+45=$result", "((%d+)%+(%d+)=)%$%a+", function (s,a,b) sum = a+b return s..sum end) --> 23+45=68

    ~~注意:似乎只支持匿名函數(shù)。~~

    從表或函數(shù)返回的是 false 或 nil

    x = string.gsub("4+5 = $return 4+5$","%$(.-)%$",function(s)return nil end) --> 4+5 = $return 4+5$ t = {name="Lua",version=false} x = string.gsub("$name-$version.tar.gz","$(%a+)",t) --> Lua-$version.tar.gz

    string.byte(s[,i[,j]])

    返回字符的 ASCII 碼值。

    定義

    string.byte([字符串],[起始下標(biāo)]=1,[結(jié)束下標(biāo)]=[起始下標(biāo)])

    例子

    x,y,z = string.byte("abc",2) --> 98 nil nil x,y,z = string.byte("abc",1,3) --> 97 98 99

    string.char(...)

    根據(jù)傳入的 ASCII 編碼值([0-255])得到對(duì)應(yīng)的字符,傳入多少編碼值就返回多長(zhǎng)的字符串。

    例子

    x = string.char(98,99,100) --> bcd

    如果輸入字符超限會(huì)編譯報(bào)錯(cuò)。

    string.dump(function)

    返回函數(shù)的二進(jìn)制表示(字符串形式),把這個(gè)返回值傳給 loadingstring 可以獲得函數(shù)的一份拷貝(傳入的函數(shù)必須是沒(méi)有上值的 Lua 函數(shù))。

    例子

    function sum(a,b) return a + b end s = string.dump(sum) x = loadstring(s)(4,4) -- 8

    更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄

    更多信息請(qǐng)查看技術(shù)文章
    易賢網(wǎng)手機(jī)網(wǎng)站地址:Lua 學(xué)習(xí)筆記(六) —— 字符串操作
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!

    2026國(guó)考·省考課程試聽(tīng)報(bào)名

    • 報(bào)班類(lèi)型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專(zhuān)用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢(xún)關(guān)注公眾號(hào):hfpxwx
    咨詢(xún)QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)