跳转到内容

Lua 编程/stringlib

来自 Wikibooks,开放世界的开放书籍

string.byte

[编辑 | 编辑源代码]

string.char

[编辑 | 编辑源代码]

string.dump

[编辑 | 编辑源代码]

string.find

[编辑 | 编辑源代码]

string.format

[编辑 | 编辑源代码]

string.gmatch

[编辑 | 编辑源代码]

string.gsub

[编辑 | 编辑源代码]

string.len

[编辑 | 编辑源代码]
string.len(STRING)

string.len 函数 返回 字符串 参数的长度。

print (string.len("Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch"))  -- Returns 58
嵌入空字符
[编辑 | 编辑源代码]

嵌入 字符不会终止 字符串 ,而且也会被此 函数 计数。

print (string.len("ab\000cd\000"))  -- Returns 6
长度运算符也可以用来确定字符串的长度
[编辑 | 编辑源代码]

lua 编程语言提供了一个 长度运算符 ,它也可以用来确定 字符串 的长度

print (#"Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch")  -- Returns 58

string.lower

[编辑 | 编辑源代码]

string.match

[编辑 | 编辑源代码]

string.rep

[编辑 | 编辑源代码]

string.reverse

[编辑 | 编辑源代码]
string.reverse(STRING)

string.reverse 函数 可用于反转字符串,并返回其字符顺序反转的字符串

print (string.reverse("anut fo raj a rof tun A"))  -- A nut for a jar of tuna

string.sub

[编辑 | 编辑源代码]
string.sub(STRING, STARTPOS [, ENDPOS])

string.sub 函数 返回 字符串 参数从起始位置到可选的结束位置的子字符串。

print (string.sub("cheese salad sandwich",8))  -- position 8 onwards gives us "salad sandwich"
print (string.sub("cheese salad sandwich",1,12)  -- positions 1 to 12 gives us "cheese salad"
起始位置不能省略,但结束位置可以省略。
[编辑 | 编辑源代码]

请注意,起始位置不是可选的,因此对于从第一个位置开始的 子字符串,必须提供一个参数 1。

-- This does not work
print (string.sub("cheese salad sandwich",,12)  -- we cannot omit the start position
-- To fix this, we must provide a substring position
print (string.sub("cheese salad sandwich",1,12)  -- we want a substring from position 1

结束位置可以省略或为负数。

[编辑 | 编辑源代码]

如果没有结束位置, 子字符串 将一直延续到 字符串 的末尾。

print (string.sub("cheese salad sandwich",8))  -- position 8 onwards gives us "salad sandwich"

字符串位置可以为负数。

[编辑 | 编辑源代码]

结束位置可以为负数。负值表示从末尾算起的字符数量,其中 -1 表示最后一个字符,-2 表示倒数第二个字符,依此类推。

print (string.sub("cheese salad sandwich",-8))  -- start 8 characters from the end gives "sandwich"
print (string.sub("cheese salad sandwich",1,-9))  -- drop " sandwich" to give "cheese salad"

string.upper

[编辑 | 编辑源代码]
华夏公益教科书