Lua 是一种小巧的脚本语言,它由标准C编写而成,Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。 —— [ 百度百科 ]
字符串函数
Lua 中的字符串函数:
函数 | 功能 |
---|---|
string.len(s) | 返回字符串s的长度 |
string.rep(s, n) | 返回重复n次字符串s的串;你使用string.rep(“a”, 2^20)可以创建一个1M bytes的字符串 |
string.lower(s) | 将s中的大写字母转换成小写 |
string.upper(s) | 将s中的小写字母转换成大写 |
string.find(s,pattern,pos) | 在字符串中寻找 |
string.sub(s,i,[j]) | 取s中从i开始到j为止的自字符串.默认j为长度.-i表示倒数 |
string.gsub(s,pattern,reps) | 在字符串中替换 |
string.format() | 生成具有特定格式的字符串 |
字符分割
根据以上的字符串函数,可以写一个对字符串中字符分割的函数,用以将字符串分割成字符串数组:
function luaSplit(szFullString, szSeparator)
--szFullString为字符串,从szSeparator参数指定的地方分割szFullString
local nFindStartIndex = 1
local nSplitIndex = 1
local nSplitArray = {}
while true do
local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex)
if not nFindLastIndex then
nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString))
break
end
nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1)
nFindStartIndex = nFindLastIndex + string.len(szSeparator)
nSplitIndex = nSplitIndex + urn nSplitArringFullStriay
end
a = {}
a = luaSplit(b,"@") --以 @ 分割字符串b,放入表a 里面
for i,z in ipairs(a) do --遍历表 a
if "1"==z then
···
end
end