<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # String library lua字符串庫包含很多強大的字符操作函數。字符串庫中的所有函數都導出在模塊string中。在lua5.1中,它還將這些函數導出作為string類型的方法。這樣假設要返回一個字符串轉的大寫形式,可以寫成ans = string.upper(s),也能寫成 ans = s:upper()。為了避免與之前版本不兼容,此處使用前者。 #### string.byte(s [, i [, j ]]) 返回字符s[i ]、s[i + 1]、s[i + 2]、···、s[j ]所對應的ASCII碼。i的默認值為1;j的默認值為i。 > 示例代碼 ~~~ print(string.byte("abc", 1, 3)) print(string.byte("abc", 3)) --缺少第三個參數,第三個參數默認與第二個相同,此時為3 print(string.byte("abc")) --缺少第二個和第三個參數,此時這兩個參數都默認為 1 -->output 97 98 99 99 97 ~~~ #### string.char (···) 接收0個或更多的整數(整數范圍 :0~255);返回這些整數所對應的ASCII碼字符組成的字符串。當參數為空時,默認是一個 0。 > 示例代碼 ~~~ print(string.char(96,97,98)) print(string.char()) --參數為空,默認是一個0,你可以用string.byte(string.char())測試一下 print(string.char(65,66)) -->output `ab AB ~~~ #### string.upper(s) 接收一個字符串s,返回一個把所有大寫字母變成小寫字母的字符串。 > 示例代碼 ~~~ print(string.upper("Hello Lua")) -->output HELLO LUA ~~~ #### string.lower(s) 接收一個字符串s,返回一個把所有大寫字母變成小寫字母的字符串。 > 示例代碼 ~~~ print(string.lower("Hello Lua")) -->output hello lua ~~~ #### string.len(s) 接收一個字符串,返回它的長度。 > 示例代碼 ~~~ print(string.len("hello lua")) -->output 9 ~~~ #### string.find(s, p [, init [, plain]]) 在s字符串中第一次匹配 p字符串。若匹配成功,則返回p字符串在s字符串中出現的開始位置和結束位置;若匹配失敗,則返回nil。第三個參數init默認為1,并且可以為負整數,當init為負數時,表示從s字符串的string.len(s) + init 索引處開始向后匹配字符串p。第四個參數默認為false,當其為true時,只會把p看成一個字符串對待。 > 示例代碼 ~~~ print(string.find("abc cba","ab")) print(string.find("abc cba","ab",2)) --從索引為2的位置開始匹配字符串:ab print(string.find("abc cba","ba",-1)) --從索引為7的位置開始匹配字符串:ba print(string.find("abc cba","ba",-3)) --從索引為6的位置開始匹配字符串:ba print(string.find("abc cba", "(%a+)",1))--從索引為1處匹配最長連續且只含字母的字符串 print(string.find("abc cba", "(%a+)",1,true)) --從索引為1的位置開始匹配字符串:(%a+) -->output 1 2 nil nil 6 7 1 3 abc nil ~~~ #### string.format(formatstring, ···) 按照格式化參數formatstring,返回后面···內容的格式化版本。編寫格式化字符串的規則與標準c語言中printf函數的規則基本相同:它由常規文本和指示組成,這些指示控制了每個參數應放到格式化結果的什么位置,及如何放入它們。一個指示由字符'%'加上一個字母組成,這些字母指定了如何格式化參數,例如'd'用于十進制數、'x'用于十六進制數、'o'用于八進制數、'f'用于浮點數、's'用于字符串等。在字符'%'和字母之間可以再指定一些其他選項,用于控制格式的細節。 > 示例代碼 ~~~ print(string.format("%.4f", 3.1415926)) --保留4位小數 print(string.format("%d %x %o", 31, 31, 31))--十進制數31轉換成不同進制 d = 29; m = 7; y = 2015 --一行包含幾個語句,用;分開 print(string.format("%s %02d/%02d/%d", "today is:", d, m, y)) -->output 3.1416 31 1f 37 today is: 29/07/2015 ~~~ #### string.match(s, p [, init]) 在字符串s中匹配字符串p,若匹配成功,則返回目標字符串中與模式匹配的子串;否則返回nil。第三個參數init默認為1,并且可以為負整數,當init為負數時,表示從s字符串的string.len(s) + init 索引處開始向后匹配字符串p。 > 示例代碼 ~~~ print(string.match("hello lua", "lua")) print(string.match("lua lua", "lua", 2)) --匹配后面那個lua print(string.match("lua lua", "hello")) print(string.match("today is 27/7/2015", "%d+/%d+/%d+")) -->output lua lua nil 27/7/2015 ~~~ #### string.gmatch(s, p) 返回一個迭代器函數,通過這個迭代器函數可以遍歷到在字符串s中出現模式串p的所有地方。 > 示例代碼 ~~~ s = "hello world from Lua" for w in string.gmatch(s, "%a+") do --匹配最長連續且只含字母的字符串 print(w) end -->output hello world from Lua t = {} s = "from=world, to=Lua" for k, v in string.gmatch(s, "(%a+)=(%a+)") do --匹配兩個最長連續且只含字母的 t[k] = v --字符串,它們之間用等號連接 end for k, v in pairs(t) do print (k,v) end -->output to Lua from world ~~~ #### string.rep(s, n) 返回字符串s的n次拷貝。 > 示例代碼 ~~~ print(string.rep("abc", 3)) --拷貝3次"abc" -->output abcabcabc ~~~ #### string.sub(s, i [, j]) 返回字符串s中,索引i到索引j之間的子字符串。當j缺省時,默認為-1,也就是字符串s的最后位置。 i可以為負數。當索引i在字符串s的位置在索引j的后面時,將返回一個空字符串。 > 示例代碼 ~~~ print(string.sub("Hello Lua", 4, 7)) print(string.sub("Hello Lua", 2)) print(string.sub("Hello Lua", 2, 1)) --看到返回什么了嗎 print(string.sub("Hello Lua", -3, -1)) -->output lo L ello Lua Lua ~~~ #### string.gsub(s, p, r [, n]) 將目標字符串s中所有的子串p替換成字符串r。可選參數n,表示限制替換次數。返回值有兩個,第一個是被替換后的字符串,第二個是替換了多少次。 > 示例代碼 ~~~ print(string.gsub("Lua Lua Lua", "Lua", "hello")) print(string.gsub("Lua Lua Lua", "Lua", "hello", 2)) --指明第四個參數 -->output hello hello hello 3 hello hello Lua 2 ~~~ #### string.reverse (s) 接收一個字符串s,返回這個字符串的反轉。 > 示例代碼 ~~~ print(string.reverse("Hello Lua")) -->output auL olleH ~~~ #### 字符串連接 使用 ".."字符串連接符,能夠把多個字符串連接起來。如果連接符兩端出現不是字符串,那么會自動轉換成字符串。 > 示例代碼 ~~~ print( "hello " .. "lua" ) print( "today:" .. os.date()) --你的輸出和我一樣嗎? -->output hello lua today:07/29/15 17:29:24 ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看