如何使用Lua按列打印单词?类似于awk。

我想知道 Lua 中是否有类似 awk 的功能。例如,我有下面这个字符串:

"This is a cup of tea"

我想通过列数打印出

"cup"

是否有这样的函数或者我需要自己创建?

查找单词不起作用,因为前后的单词可能会改变。

点赞
用户1009479
用户1009479

Lua没有“列”的概念。您需要手动进行操作:

local t = {}
for word in line:gmatch("%S+") do
  table.insert(t, word)
end

然后使用“列”号访问t,如t[4]

2015-07-24 16:25:42
用户107090
用户107090

尝试这个:

s="这是一杯茶"

function column(s,n)
    local p=string.rep("%s+.-",n-1).."(%S+)"
    return s:match(p)
end

for n=1,10 do
    print(n,column(s,n))
end
2015-07-24 16:37:51