我在lua中使用gmatch来拆分条目,并将插槽放入自己的表中,如数据[1]数据[2]数据来自DB,但现在我转到C++,我找不到正确的方法来做到这一点。我已经浪费了5天的时间来尝试计算如何做到这一点。
这是我在lua上用来分割所需数据的
`
local function stringsplit(inStr,sep)
local rettab = {}
for str in string.gmatch(inStr, "[^;]+") do
table.insert(rettab, str)
end
return rettab
end
here is an example of the the data i need to split correctly
1:200000;2:200001;3:200002
1 , 2 , 3 are the ITEM SLOT : the separator and 200000-200002 the items
so i want to store them separated, "SLOTS" in DATA[1] and ITEMS in DATA[2] (only has example)
the desired result should be something like
DATA[1] // SLOT
1
2
3
DATA[2] //ITEMS
200000
200001
200002
我很抱歉我的英语不好,我试过了,我会很高兴,如果有人知道解决方案或方法来做它正确谢谢你:/
2条答案
按热度按时间carvr3hs1#
下面的代码使用strtok()函数和我自己的函数mySplit(),考虑创建自己的实现或调整mySplit()以将单词保存在数组中。
输出:使用字符串strtok()拆分:
ngynwnxp2#
我通常会这样做,返回string_views的集合,这非常节省内存(但它要求原始字符串保持在作用域中)。