(转) Lua string 操作函数
本文转自: http://www.cnblogs.com/newlist/p/3649388.html
table.keys
返回指定表格中的所有键。
格式:
keys = table.keys(表格对象)
用法示例:
local t = {a = 1, b = 2, c = 3}
local keys = table.keys(t)
-- keys = {"a", "b", "c"}
~~
table.values
返回指定表格中的所有值。
格式:
values = table.values(表格对象)
用法示例:
local t = {a = "1", b = "2", c = "3"}
local values = table.values(t)
-- values = {1, 2, 3}
~~
table.merge
合并两个表格。
格式:
table.merge(目标表格对象, 来源表格对象)
将来源表格中所有键及其值复制到目标表格对象中,如果存在同名键,则覆盖其值。
用法示例:
local dest = {a = 1, b = 2}
local src = {c = 3, d = 4}
table.merge(dest, src)
-- dest = {a = 1, b = 2, c = 3, d = 4}
~~
string.htmlspecialchars
转换特殊的字符为 HTML 编码。
格式:
result = string.htmlspecialchars(字符串)
下列字符会被转换:
'&' (ampersand) 转换为 '&'
'”' (double quote) 转换为 '"'
”'” (single quote) 转换为 '''
'<' (less than) 转换为 '<'
'>' (greater than) 转换为 '>'
~~
string.nl2br
将字符串中的换行符转换为 HTML 换行标记。
格式:
result = string.nl2br(字符串)
用法示例:
local text = "Hello\nWorld."
local result = string.nl2br(text)
-- result = "Hello<br />World."
将 string.nl2br() 和 string.htmlspecialchars() 结合使用,可以对字符串进行转换,确保转换结果符合 HTML 要求,并且没有安全问题。
local text = "---> Hello\nWorld <---"
local result = string.nl2br(string.htmlspecialchars(text))
-- result = "---> Hello<br /> <---"
~~
string.text2html
对字符串进行格式化,确保其中的特殊字符都转换为 HTML 标记。
格式:
result = string.text2html(字符串)
string.text2html() 除了转换特殊字符和换行符,还会将制表符“\t”替换为空格,再将空格替换为“ ”。
~~
string.split
分割字符串。
格式:
result = string.split(要分割的字符串, 分隔符)
用法示例:
local result = string.split("1,2,3", ",")
-- result = {"1", "2", "3"}
~~
string.ltrim
删除字符串前部的空白字符。
格式:
result = string.ltrim(字符串)
空白字符包括:空格、制表符“\t”、换行符“\n”和“\r”。
用法示例:
local result = string.ltrim(" \n\tHello")
-- result = "Hello"
~~
string.rtrim
删除字符串尾部的空白字符。
格式:
result = string.rtrim(字符串)
~~
string.trim
删除字符串两端的空白字符。
格式:
result = string.trim(字符串)
~~
string.ucfirst
返回首字母大写的字符串。
格式:
result = string.ucfirst(字符串)
~~
string.urlencode
生成符合 URL 规范的字符串。
格式:
result = string.urlencode(字符串)
为了通过 URL 传递数据,字符串中所有的非字母和数字都会被替换为“%编码”格式,空格会被替换为“+”。
~~
string.utf8len
计算一个 UTF8 字符串包含的字符数量。
格式:
count = string.utf8len(字符串)
当一个 UTF8 字符串中包含中文时,string.len() 返回的结果是字符串的字节长度。string.utf8len() 会确保始终返回字符串中包含的字符数量。
~~
string.formatNumberThousands
将数字格式化为千分位格式。
格式:
result = string.formatNumberThousands(数值)
用法示例:
local result = string.formatNumberThousands(12345)
-- result = "12,345"