这里的换行符为什么就失效了呢?

rmajly 11月前 646

1、在customPlus的title标签上的文字,用换行符“\r\n”可以完美自动换行

itemList = {}

for(i=1;8;1){

..table.push(itemList,{

logo=eval("'\uF01"++(i+8)++"'"),

title= '这是第一行\r\n这是第二行\r\n这是第三行\r\n这是第四行'++i,

})

}

2、我想借鉴这个办法,把txt文本里需要换行的文字中加上“\r\n”,这些数据读取到title上,成为b变量,期待也能像上面那样能自动换行,但没成功,我写的代码如下,请帮我看看错在什么地方(我用notePda查了一下,我的文本是UTF-8编码,隐藏的换尾符为CR LF): 

itemList1 = {}

try {

for line in io.lines("\T分期.txt"){

var a,b = table.unpack(string.split(line,"< >")); //string.split以“ ”为分割符分割读取的文本行 然后把分开的值分别赋值给a,b

b = b or "" 

table.push(itemList1,{

title=(a or "")+"  "+b,

a=a, // a的值储存到itemList

})

}

} catch (e) {

        console.log("Error reading file: " + e);

}  

谢谢!


最新回复 (4)
  • 小光芒 11月前
    0 2
    txt文件传一个上来测试下
  • 光庆 11月前
    0 3
    title=(a or "")+'\r\n'+b 这样试试,a和b中间加换行。
  • rmajly 11月前
    0 4

         //群里兄弟用string.replace巧妙的解决了,完美运行,修改后的代码如下:

     itemList1 = {}

         try {

           for line in io.lines("\T分期.txt"){

             var a,b = table.unpack(string.split(line," ")); //string.split以“ ”为分割符分割读取的文本行 然后把分开的值分别赋值给a,b

             b = b or "" // If 'b' is nil, assign it an empty string to prevent errors

             c="

           ";

             b=string.replace(b,"@\r\n",c);          

             table.push(itemList1,{

               title=(a or "")+"  "+b,

               a=a, // a的值储存到itemList

             })

           }

         } catch (e) {

                     console.log("Error reading file: " + e);

               }  


  • rmajly 11月前
    0 5
    title=(a or "")+'\r\n'+b 这样是不行的。因为我的需求是,a和b之间不需要换行,需要换行是变量b数据。我曾经在b源数据的文字里加上换行符,发现是没用的。
返回
发新帖