字符串

2021-01-06  本文已影响0人  爱折腾的傻小子

Lua字符串

string11 = "Lua"
print("\"字符串 是\"", string11)    -- "字符串 是"  Lua
string22 = 'hello'
print("字符串是", string22)         -- 字符串是 hello
string33 = [["Lua 学习"]]
print("字符串是", string33)         -- 字符串是 "Lua 学习"

字符串操作

string111 = "lUa"
print(string.upper(string111))      -- LUA
print(string.lower(string111))      -- lua
print(string.gsub("aaaaa", "a", "z", 4))    -- zzzza    4
print(string.find("Hello Lua user", "Lua", 1))  -- 7 开始位置   9 结束位置
print(string.reverse("Lua"))    -- auL
time = 2020
print(string.format("hello %s %d", "Lua", time))    -- hello Lua 2020

string1 = "Lua"
string2 = "Tutorial"
number1 = 10
number2 = 20
-- 基本字符串格式化
print(string.format("基本格式化 %s %s",string1,string2)) -- 基本格式化 Lua Tutorial
-- 日期格式化
date = 2; month = 1; year = 2014
print(string.format("日期格式化 %02d/%02d/%03d", date, month, year)) -- 日期格式化 02/01/2014
-- 十进制格式化
print(string.format("%.4f",1/3))    -- 0.3333
占位符 描述
%c 接受一个数字, 并将其转化为ASCII码表中对应的字符
%d, %i 接受一个数字并将其转化为有符号的整数格式
%o 接受一个数字并将其转化为八进制数格式
%u 接受一个数字并将其转化为无符号整数格式
%x 接受一个数字并将其转化为十六进制数格式, 使用小写字母
%X 接受一个数字并将其转化为十六进制数格式, 使用大写字母
%e 接受一个数字并将其转化为科学记数法格式, 使用小写字母e
%E 接受一个数字并将其转化为科学记数法格式, 使用大写字母E
%f 接受一个数字并将其转化为浮点数格式
%g(%G) 接受一个数字并将其转化为%e(%E, 对应%G)及%f中较短的一种格式
%q 接受一个字符串并将其转化为可安全被Lua编译器读入的格式
%s 接受一个字符串并按照给定的参数格式化该字符串
print(string.format("%c", 69))          -- E
print(string.format("%d%%", 100))       -- 100%
print(string.format("%05d", 2015))      -- 02015
print(string.format("%+04d", -2015))    -- -2015
print(string.format("%+04d", 2015))     -- +2015
print(string.format("%02d", 1))         ---01
print(string.format("%02d", 11))        ---11
print(string.format("%o", 9))           -- 11
print(string.format("%u", 52))          -- 52
print(string.format("%u", -1))          -- 18446744073709551615
print(string.format("%u", -65))         -- 18446744073709551551
print(string.format("%x", 47))          -- 2f
print(string.format("%X", 47))          -- 2F
print(string.format("%e", 1032000))     -- 1.032000e+006
print(string.format("%E", 1032000))     -- 1.032000E+006
print(string.format("%.5f", math.pi))   -- 3.14159
print(string.format("%.8f", 0.123456789))   -- 0.12345679 (这里可以看到第八位变成了9而不是8,其实是做了一个四舍五入操作)
print(string.format("%g", 4566000))     -- 4.566e+006
print(string.format("%q", "@##@~(*&^%$(a")) -- "@##@~(*&^%$(a"
print(string.format("\"%s\"", "Hello World"))   -- "Hello World"
print(string.format("%.4s", "canglang"))    -- cang
print(string.format("\"%8.4s", "canglang"))   -- "    cang
print(string.char(97,98,99,100))    -- abcd
print(string.byte("ABCD",4))    -- 68
print(string.byte("ABCD"))          -- 65
print(string.len("abc"))        -- 3
print(string.rep("abcd",2))     -- abcdabcd
print("w"..".c")  -- wc
上一篇 下一篇

猜你喜欢

热点阅读