找回密码
 立即注册

微信登录

只需一步,快速开始

QQ登录

只需一步,快速开始

搜索
查看: 666|回复: 0

[分享] aardio操作文本文件的笔记

[复制链接]
  • TA的每日心情
    慵懒
    2024-9-9 17:19
  • 签到天数: 111 天

    连续签到: 1 天

    [LV.6]常住居民II

    35

    主题

    142

    回帖

    1194

    积分

    金牌会员

    积分
    1194
    来自: 菲律宾
    发表于 2024-1-25 00:50:46 | 显示全部楼层 |阅读模式 来自: 菲律宾
    非业余 - aardio 编程语言 - 非官方问答社区
    限时85折!暑假期间,用aardio培训班充实自己!https://mp.weixin.qq.com/s/c4Z8sZPOiMh_OTG2VPOJmA
    Aardio培训大揭秘,轻松上手打造个人项目!https://mp.weixin.qq.com/s/cr47qhp_Cpz0p57lbbPwug
    aardio风行者第二期培训班https://mp.weixin.qq.com/s/uB6XHUDnGSk0JlWuiBE9AA
    本帖最后由 rmajly 于 2024-1-26 21:50 编辑

    aardio开发笔记:文本类



    1、一次逐行读出txt文本
    1. import console;
    2. for lineTxt in io.lines("C:\Users\Administrator\Desktop\aaa.txt"){
    3.         console.log(lineTxt)
    4.         }
    5. console.pause(true);
    复制代码

    2、把文本每行以空隔为界,逐行读到listview里
    1. import win.ui;
    2. //import string;
    3. /*DSG{{*/
    4. var winform = win.form(text="aardio Form";right=459;bottom=372;parent=...)
    5. winform.add(
    6. listview={cls="listview";left=6;top=33;right=452;bottom=253;bgcolor=16777215;edge=1;z=1}
    7. )
    8. /*}}*/

    9. winform.listview.insertColumn("序号",40)
    10. winform.listview.insertColumn("测试",200)
    11. winform.listview.insertColumn("测试",200)

    12. winform.listview.clear();
    13. var x = 1;
    14. for line in io.lines("C:\Users\Administrator\Desktop\aaa.txt") { //采取分行迭代方法读取  test.txt文本的内容;
    15.     var a,b = table.unpack(string.split(line,"< >")); //string.split以“ ”为分割符分割读取的文本行 然后把分开的值分别赋值给a,b,模式匹配详细请参考帮助文档和论坛;   
    16.     winform.listview.addItem({tostring(x);a;b;});//显示到listview控件;
    17.     x++;   
    18. }

    19. winform.show()
    20. win.loopMessage();
    复制代码

    3、查找txt内文本的最大行数
    1. io.open();//打开控制台   
    2.     var lines = 0;
    3.     for line in io.lines("C:\Users\Administrator\Desktop\aaa.txt") {
    4.         lines++;
    5.     }
    6.     io.print("您输入的是" ,lines );
    7. execute("pause") //按任意键继续   
    复制代码

    4、这个代码就有意思了,上面读数据,最后写总行数;
    1. import console;
    2. var lines=0
    3. for line in io.lines("C:\Users\Administrator\Desktop\aaa.txt"){
    4.         console.log(line)//这是逐行读的总的数据
    5.         lines++
    6.         }
    7.         console.log(lines)//这是总的行数      
    8. console.pause(true);
    复制代码

    5、(1)文本分割
    1. import console;
    2. var a,b = table.unpack(string.split("apple banana"," "))
    3. console.log(a)
    4. console.log(b)
    5. execute("pause") //按任意键继续   
    6. (2)字符拼接
    7. io.open(); //打开控制台窗口
    8. str = "12345678";
    9. t = string.split(str); //按单个字符开始拆分
    10. io.print(tostring(t[1])++tostring(t[2])++tostring(t[3]) +"*");
    11. execute("pause") //按任意键继续
    12. io.close();//关闭控制台
    复制代码

    6、查找某个数据在等几行
    1. import console;
    2. var num = {}
    3. for line in io.lines("C:\Users\Administrator\Desktop\123.txt") {
    4.         table.push(num,line)
    5.         if( string.find(line,"李四") ){
    6.                 console.log("发现李四在第",#num,"行")
    7.         }
    8. }
    9. execute("pause") //按任意键继续
    复制代码

    7、找某个关键字,并找出空格前、后的数据
    1. import console;
    2. for line in io.lines("C:\Users\Administrator\Desktop\123.txt") {
    3.         var a,b = table.unpack(string.split(line,"< >"));   
    4.               if( string.find(line,"001") ){
    5.                       console.log("找到同行空格后的数据为",b)
    6.                      console.log("找到同行空格前的数据为",a)
    7.         }
    8. }
    9. execute("pause") //按任意键继续   
    复制代码

    非业余 - aardio 编程语言 - 非官方问答社区
    限时85折!暑假期间,用aardio培训班充实自己!https://mp.weixin.qq.com/s/c4Z8sZPOiMh_OTG2VPOJmA
    Aardio培训大揭秘,轻松上手打造个人项目!https://mp.weixin.qq.com/s/cr47qhp_Cpz0p57lbbPwug
    aardio风行者第二期培训班https://mp.weixin.qq.com/s/uB6XHUDnGSk0JlWuiBE9AA
    回复

    使用道具 举报

    *滑块验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|非业余 - aardio 编程语言 - 非官方问答社区

    GMT+8, 2024-9-17 03:42 , Processed in 0.113837 second(s), 29 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表