file – 在Lua中处理CR行结尾
发布时间:2020-12-15 00:26:34 所属栏目:大数据 来源:网络整理
导读:我正在尝试使用文件读取带有CR行结尾的文件:read方法似乎由于某种原因而起作用.文件内容如下所示: ABCDEFGH12345##6789 我希望它与所有类型的行结尾一致.每次我尝试读取文件时,它都会返回文件中的最后一行与前一行中任何尾随字符的连接,这些字符的位置大于
我正在尝试使用文件读取带有CR行结尾的文件:read方法似乎由于某种原因而起作用.文件内容如下所示:
ABCDEFGH 12345 ## 6789 我希望它与所有类型的行结尾一致.每次我尝试读取文件时,它都会返回文件中的最后一行与前一行中任何尾随字符的连接,这些字符的位置大于最后一行中最后一个字符的位置.这就是我的意思: > file=io.open("test.lua","rb") > function re_read(openFile) openFile:seek("set"); return openFile:read("*a"); end > =re_read(file) -- With CR 67895FGH > =re_read(file) -- With CRLF ABCDEFGH 12345 ## 6789 > =re_read(file) -- with LF ABCDEFGH 12345 ## 6789 > 如您所见,返回的字符串是最后一个字符串加上前一行中的5,加上第一行的FGH.将跳过任何比最后一行短的行. 我的目标是使用file:line()方法逐行读取文件.我希望如果找到file:read的’fix’,那么它可以应用于file:lines(). 解决方法
在仅有CR的情况下,re_read实际上按预期工作:它返回由CR分隔的行.但是当解释器显示它时,它将CR字符解释为“返回到行的开头”.所以这里是结果如何逐行改变:
ABCDEFGH 12345FGH ##345FGH 67895FGH 编辑:这里是逐个字符,带有“虚拟光标”(|). | A| AB| ABC| ABCD| ABCDEF| ABCDEFGH| |ABCDEFGH 1|BCDEFGH 12|CDEFGH 123|DEFGH 1234|EFGH 12345|FGH |12345FGH #|2345FGH ##|345FGH |##345FGH 6|#345FGH 67|345FGH 678|45FGH 6789|5FGH 证明: > s = "ABCDEFGHr12345r##r6789" > =s 67895FGH (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容