繁体   English   中英

在任意点分割字符串

[英]splitting a string at arbitrary points lua

我想在lua中以固定间隔分割字符串,并在新行上显示每个新字符串。 我的问题是拆分应该在任意用户定义的字符数之后发生,而不是在任何特殊字符后发生。 目前,我的代码是:

logfile = io.open("input.txt","r")
inputstring = logfile:read("*all")
for word in string.gmatch(inputstring, "TERRAIN_%a*") do 
j=1 
if j <= 64 then 
    io.write(word)
j=j+1
else
io.write(word,"\n")
    j=1
end

结束

我的意图是每次string.gmatch找到一个匹配项,它将把它写到一个新的字符串中并增加一个计数器。 当计数器达到64时,它将插入新行。 我希望比赛的时间是不规则的。

我不确定它的行为是否符合预期,或者这不是格式化所需字符串的最佳方法。 我非常感谢您的帮助。

请注意,您必须在循环外初始化计数器。

local logfile = io.open("input.txt","r")
local inputstring = logfile:read("*all")
local j = 0;
for word in string.gmatch(inputstring, "TERRAIN_%a*") do 
    j = j + 1;
    io.write(word);
    if j == 64 then
        io.write'\n';
        j = 1 -- reset the counter
    end
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM