此findword函数正在从另一个函数调用。在下面的函数中,s包含一个长字符串。 但问题是我一使用':'对于s:byte和s:sub,它表示s是没有子节点的叶子节点。我做错了什么
2.在lua中是否有任何名为_isWhite的函数?如果没有,我应该用什么代替?
local function findword(s,i)
local j=i+1
while not _iswhite(s:byte(j)) and j<#s do
j=j+1
end
return s:sub(i,j),j
end
答案 0 :(得分:2)
要处理字符串中的所有单词,请尝试:
for w in s:gmatch("(%S+)") do print(w) end
根据您发布的代码,单词只是一系列非空白字符。
如果你想要每个单词结束的位置,试试这个:
for w,k in s:gmatch("(%S+)()") do print(w,k-1) end