在Lua中将字符串拆分并存储到数组中
2012-10-3 13:8:44
收藏:0
阅读:151
评论:4
我需要将一个字符串分割并存储在一个数组中。我使用了string.gmatch方法,精确地分割了字符,但我的问题是如何存储在一个数组中?这是我的脚本。 我的示例字符串格式:touchedSpriteName = Sprite,10,rose
objProp = {}
for key, value in string.gmatch(touchedSpriteName, "%w+") do
objProp[key] = value
print(objProp[2])
end
如果我打印(objProp),它会给出精确的值。
点赞
用户1576117
下面是将一个字符串拆分成数组的一个不错的函数。(参数为 divider 和 string )
-- 来源: http://lua-users.org/wiki/MakingLuaLikePhp
-- 作者: http://richard.warburton.it/
function explode(div,str)
if (div=='') then return false end
local pos,arr = 0,{}
for st,sp in function() return string.find(str,div,pos,true) end do
table.insert(arr,string.sub(str,pos,st-1))
pos = sp + 1
end
table.insert(arr,string.sub(str,pos))
return arr
end
2012-10-04 08:32:34
用户7347992
以下是我制作的函数:
function split(str, character)
result = {}
index = 1
for s in string.gmatch(str, "[^"..character.."]+") do
result[index] = s
index = index + 1
end
return result
end
然后你可以调用它:
split("dog,cat,rat", ",")
2018-05-21 04:57:55
用户12968803
Ricardo的重写代码:
local function split (string, separator)
local tabl = {}
for str in string.gmatch(string, "[^"..separator.."]+") do
table.insert (tabl, str)
end
return tabl
end
print (unpack(split ("1234#5678#9012", "#")))
-- 返回 1234 5678 9012
2022-11-22 13:52:51
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
你的表达式只返回一个值。你的单词将最终成为键,而值将保持为空。你应该重写循环以便迭代一个项目,像这样:
objProp = { } touchedSpriteName = "touchedSpriteName = Sprite,10,rose" index = 1 for value in string.gmatch(touchedSpriteName, "%w+") do objProp[index] = value index = index + 1 end print(objProp[2])这将打印
Sprite( 链接 到ideone上的演示).