,转 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) 转换为 '&lt;'

'>' (greater than) 转换为 '&gt;'

~~

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 = "---&gt; Hello<br /> &lt;---"

~~

string.text2html

对字符串进行格式化,确保其中的特殊字符都转换为 HTML 标记。

格式:

result = string.text2html(字符串)

string.text2html() 除了转换特殊字符和换行符,还会将制表符“\t”替换为空格,再将空格替换为“&nbsp;”。

~~

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"