?string.sub(s, i, j)
-
功能: 截取字符串?
s
?中從位置?i
?到位置?j
?的子字符串。 -
local s = "Hello, Lua!" print(string.sub(s, 1, 5)) -- 輸出 "Hello" print(string.sub(s, 8, 11)) -- 輸出 "Lua!"
string.len(s)
?功能:將字符串長度返回,如果換行符沒有明顯寫出來,就不會加入計算,如果說換行符已經明顯寫出來了,那么要加入計算,比如下面如果寫了"hello, lua!\n",那么這時候就有12個字符
local s = "Hello, Lua!"
print(string.len(s)) -- 輸出 11
string.lower(s)
將字符串轉換成小寫
local s = "Hello, Lua!"
print(string.lower(s)) -- 輸出 "hello, lua!"
string.upper(s)
將字符串轉換成大寫
local s = "Hello, Lua!"
print(string.upper(s)) -- 輸出 "HELLO, LUA!"
string.find(s, pattern)
功能:這個函數是用來查找函數中的字符串,參數是字符串和要查找的字符,有兩個返回值,是一個區間范圍,即查找到字符串的(開始位置-結束位置),如果沒有找到,就返回nil
local s = "Hello, Lua!"
local start, finish = string.find(s, "Lua")
print(start, finish) -- 輸出 8 10
?string.match(s, pattern)
功能:這個函數是用來查找指定字符串,返回值就是查找到的字符串,如果沒有查找到,就返回nil
local s = "Hello, Lua!"
local result = string.match(s, "Lua")
print(result) -- 輸出 "Lua"
string.gsub(s, pattern, repl)
功能:把指定字符串當中的某個字符串替換成想要替換的新字符串,返回值有兩個,一個是返回被替換之后的整個字符串,一個是字符串當中被替換掉的次數
local s = "Hello, Lua!"
local result, count = string.gsub(s, "Lua", "World")
print(result) -- 輸出 "Hello, World!"
print(count) -- 輸出 1
string.rep(s, n)
將字符串重復指定次數
local s = "Lua"
print(string.rep(s, 3)) -- 輸出 "LuaLuaLua"
string.reverse(s)
將字符串反轉
local s = "Hello, Lua!"
print(string.reverse(s)) -- 輸出 "!auL ,olleH"
string.format(format, ...)
格式化字符串,相當于c中的printf
local name = "Lua"
local version = 5.4
print(string.format("Welcome to %s %0.1f!", name, version)) -- 輸出 "Welcome to Lua 5.4!"
string.char(...)
功能: 將整數轉換為對應的字符。f f f
-
print(string.char(72, 101, 108, 108, 111)) -- 輸出 "Hello"
string.byte(s, i, j)
返回字符串?s
?中從位置?i
?到位置?j
?的字符的 ASCII 碼。
local s = "Hello"
print(string.byte(s, 1, 3)) -- 輸出 72 101 108
string.gmatch(s, pattern)
功能: 返回一個迭代器,用于遍歷字符串?s
?中所有匹配?pattern
?的子字符串
local s = "Hello, Lua!"
for word in string.gmatch(s, "%a+") doprint(word)
end
-- 輸出:
-- Hello
-- Lua