level 10
s="1/2/3/4"
st=s.."/"
print(st)
ta={}
local i=0
local j=0
while true do
j=string.find(st,"/",i+1)
if j==nil then
break
end
table.insert(ta,string.sub(st,i+1,j-1))
i=j
end
for k=1,#ta,1 do
print(ta[k])
end
2016年01月26日 12点01分
2
我也才学习,大神看看有什么补充的吗?
2016年01月26日 12点01分
回复 angel持风 :因为string.find的返回值是找到"/"字符串的位置,我们定义为j,令i=j,i=i+1,那么下一次查找就是从上一次"/"的后面一位开始。
2016年02月24日 04点02分
level 1
require "std"
local str = "1/2/3/4"
print(string.split(str, "/"))
2016年01月28日 07点01分
3
level 2
local s = "12 / 234 / 3456 / 45678 / 567890 ";
for n in s:gmatch("(%d+)") do
print(n);
end
2016年01月29日 05点01分
5
厉害👍,我调试了。成功!就是看不懂你的for循环。求指点
2016年01月30日 08点01分