天天看點

(轉) 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"