2008年7月12日 星期六

轉字串為table的函數

在程式中,你可以呼叫這個函數來將字串轉為table,當然您的字串是規格化的,比如您有一個字串→str=" coffee,spring,worm,tea"(是用逗號來分隔的字串內容),那麼你可以在程式中寫:tb_back = DelimitedStringToTable(str, ",");
你可以得到一個table名為tb_back,而其內容就是四個字串。
function DelimitedStringToTable(DelimitedString, Delimiter)
tbReturn = {};
local strWorking;
local nPos = nil;
local strData;
local nTableIndex = 1;
local nDelimiterLength = String.Length(Delimiter);

if(nDelimiterLength < 1)then
tbReturn[nTableIndex] = DelimitedString;
return tbReturn;
end

strWorking = DelimitedString;
nPos = String.Find(strWorking,Delimiter);
while(nPos ~= -1)do
strData = String.Left(strWorking,nPos-1);
tbReturn[nTableIndex] = strData;
nTableIndex = nTableIndex + 1;
local nLength = String.Length(strWorking);
strWorking = String.Right(strWorking,nLength - (nPos + (nDelimiterLength-1)));
nPos = String.Find(strWorking,Delimiter);
end
if(strWorking ~= "")then
tbReturn[nTableIndex] = strWorking;
end

return tbReturn;
end

沒有留言: