加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

string – 遍历包括空行的行

发布时间:2020-12-14 21:49:18 所属栏目:大数据 来源:网络整理
导读:给定一个带有一些空行的多行字符串,如何迭代Lua中的行,包括空行? local s = "foonbarnnjim"for line in magiclines(s) do print( line=="" and "(blank)" or line)end-- foo-- bar-- (blank)-- jim 此代码不包含空行: for line in string.gmatch(s,'[^
给定一个带有一些空行的多行字符串,如何迭代Lua中的行,包括空行?

local s = "foonbarnnjim"
for line in magiclines(s) do
  print( line=="" and "(blank)" or line)
end
--> foo
--> bar
--> (blank)
--> jim

此代码不包含空行:

for line in string.gmatch(s,'[^rn]+') do print(line) end
--> foo
--> bar
--> jim

此代码包含额外的虚假空白行:

for line in string.gmatch(s,"[^rn]*") do
  print( line=="" and "(blank)" or line)
end
--> foo
--> (blank)
--> bar
--> (blank)
--> (blank)
--> jim
--> (blank)

解决方法

试试这个:

function magiclines(s)
        if s:sub(-1)~="n" then s=s.."n" end
        return s:gmatch("(.-)n")
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读