LUA中table和字串相互轉換

2022-09-01 20:12:16 字數 1167 閱讀 6826

有時會遇到需要將乙個table儲存起來或傳遞給另乙個string中的時候,table的序列化和反序列化就起到作用了。

需要使用到乙個輔助函式

function

tostringex(value)

iftype(value)=='

table

'then

return

tabletostr(value)

elseif

type(value)=='

string

'then

return"\'

"..value.."\'"

else

return

tostring

(value)

endend

table to string

function

tabletostr(t)

if t == nil

then

return

""end

local retstr= "

"return

retstr

end

string to table

function

strtotable(str)

if str == nil

ortype(str) ~= "

string

"then

return

endreturn

loadstring("

return

".. str)()

end

測試結果

local t1 =  } }

print(t1.b[2

].x)

-- strb2x

local str1 =tabletostr(t1)

print

(str1)

-- ,['b']='strbb'}}

local t2 =strtotable(str1)

print(t2['

b'][2].x)

-- strb2x

Lua學習筆記 table轉為字串

1 將table中的成員進行連線,使其成為乙個字串,可以採用table.concat 方法。例如 a print table.concat a 列印出的結果是1ab4。如果是print table.concat a,則列印的結果是1,a,b,4 2 將字串轉table t str text str ...

Lua 筆記 Lua 字串

目錄 lua 字串 字串操作 字串擷取 字串大小寫轉換 字串查詢與反轉 字串格式化 字元與整數相互轉換 案例 string1 lua print 字串 1 是 string1 string2 runoob.com print 字串 2 是 string2 string3 lua 教程 print 字...

QString string和C字串相互轉換

std string轉換成qstring string std str abc qstring q str qstring fromstdstring std str qstring轉換成std string qstring q str abc string q str.tostdstring st...