字符串格式化
Lua 提供了 **string.format()** 函数来生成具有特定格式的字符串, 函数的第一个参数是格式 , 之后是对应格式中每个代号的各种数据。
由于格式字符串的存在, 使得产生的长字符串可读性大大提高了。这个函数的格式很像 C 语言中的 printf()。
以下实例演示了如何对字符串进行格式化操作:
格式字符串可能包含以下的转义码:
| %c | 接受一个数字, 并将其转化为ASCII码表中对应的字符 |
|---|---|
| %d | 接受一个数字并将其转化为有符号的整数格式 |
| %o | 接受一个数字并将其转化为八进制数格式 |
| %u | 接受一个数字并将其转化为无符号整数格式 |
| %x | 接受一个数字并将其转化为十六进制数格式, 使用小写字母 |
| %X | 接受一个数字并将其转化为十六进制数格式, 使用大写字母 |
| %e | 接受一个数字并将其转化为科学记数法格式, 使用小写字母e |
| %E | 接受一个数字并将其转化为科学记数法格式, 使用大写字母E |
| %f | 接受一个数字并将其转化为浮点数格式 |
| %g(%G) | 接受一个数字并将其转化为%e(%E, 对应%G)及%f中较短的一种格式 |
| %q | 接受一个字符串并将其转化为可安全被Lua编译器读入的格式 |
| %s | 接受一个字符串并按照给定的参数格式化该字符串 |
| + | 表示其后的数字转义符将让正数显示正号. 默认情况下只有负数显示符号. |
| 0 | 在后面指定了字串宽度时占位用. 不填时的默认占位符是空格. |
无法格式化: bad argument #2 to ‘format’ (number expected, got string)
string1 = "Lua"string2 = "Tutorial"number1 = 10number2 = 20-- 基本字符串格式化print(string.format("基本格式化 %s %s",string1,string2))-- 日期格式化date = 2; month = 1; year = 2014print(string.format("日期格式化 %02d/%02d/%03d", date, month, year))-- 十进制格式化print(string.format("%.4f",1/3))
string.format("%c", 83) -- 输出Sstring.format("%+d", 17.0) -- 输出+17string.format("%05d", 17) -- 输出00017string.format("%o", 17) -- 输出21string.format("%u", 3.14) -- 输出3string.format("%x", 13) -- 输出dstring.format("%X", 13) -- 输出Dstring.format("%e", 1000) -- 输出1.000000e+03string.format("%E", 1000) -- 输出1.000000E+03string.format("%6.3f", 13) -- 输出13.000string.format("%q", "One\nTwo") -- 输出"One\-- Two"string.format("%s", "monkey") -- 输出monkeystring.format("%10s", "monkey") -- 输出 monkeystring.format("%5.3s", "monkey") -- 输出 mon
-- 字符转换-- 转换第一个字符print(string.byte("Lua"))-- 转换第三个字符print(string.byte("Lua",3))-- 转换末尾第一个字符print(string.byte("Lua",-1))-- 第二个字符print(string.byte("Lua",2))-- 转换末尾第二个字符print(string.byte("Lua",-2))-- 整数 ASCII 码转换为字符print(string.char(97))
| 自动化平台 | 官方网站 | 交流学习 | 学习课程 | 公开课程 |
|---|---|---|---|---|
| 懒人精灵 | 懒人精灵官网 | 正在跳转 562451816 | 💻进阶课程列表 | 官方课合集 |
| AiWork | AIWork官网 | 正在跳转 818641934 | 📗中级课程 | 官方课合集 |
| EasyClick | EasyClick官网 | 正在跳转 815053746 | ||
| 小派精灵 | 小派精灵官网 | 正在跳转 429533660 | ||
| 按键精灵 | 按键精灵官网 | 正在跳转 815057794 | ||
| 易语言 | 易语言官网 | |||
| 何鑫云机 | 合鑫云手机-云真机 | |||
| 鸟人云机 | 鸟人云手注册 | 鸟人云机下载 | 安卓7.1~10系统 |
