明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 747|回复: 1

[提问] 提取txt中的部分数据汇总为一个列表,程序有一个while循环内的列表最终无法输出

[复制链接]
发表于 2019-1-21 23:57:19 | 显示全部楼层 |阅读模式
  自己借鉴图书与论坛编的程序,有个小bug实在是改不动
带提取TXT文件格式如下,文后有附件:
    jpos100.extax.eax_a:=jpos100.extax.eax_a+1400;
MoveExtJ jpos100\ID:=1\UseEOffs,v_trolley_5_m_mm,fine;

    jpos100.extax.eax_a:=jpos100.extax.eax_a+0;
MoveExtJ jpos100\ID:=2\UseEOffs,v_trolley_20_m_mm,fine;

    jpos100.extax.eax_a:=jpos100.extax.eax_a-1305;
MoveExtJ jpos100\ID:=3\UseEOffs,v_trolley_6_m_mm,fine;

我自己编的程序如下,主要是吧每段落中的第一行中a+后的数字提取出来,如第一段中的1400,第二段的0,然后汇总为一个列表以供下一步的调用操作,但是好像程序循环结束之后没有返回想要是数据列表:
(defun c:getxc ()
  (setvar "cmdecho" 0)
  (setvar "osmode" 0)
  (setq ffncar (getfiled "选取一个txt待仿真小车运动指令文件"  "" "txt" 2))
  (setq cf (open ffncar "r"))
  (setq n 1);预设行值1
  (setq xcnlist nil);初始化文本内容序列
  (setq xcomment (READ-LINE cf))
  (while xcomment
    (setq n (1+ n))
    (setq xcnlist (cons xcomment xcnlist))
    (setq xcomment (read-line cf))
    (setq xcomment (read-line cf))
    (setq xcomment (read-line cf))
    )
  (setq xcnlist (reverse xcnlist))
  ;(prin1 xcnlist);已经可以输出X位移所在行的结合列表
  (setq i -1)
  (setq listx ())
  (setq ni (length xcnlist))
  (prin1 ni)
  (while (< i ni)
    (setq i (1+ i))
    (setq xdatacar (nth i xcnlist))
    (setq xn1 (vl-string-search ":=jpos100.extax.eax_a" xdatacar))
    (setq charxn1 (substr xdatacar (+ xn1 22)))
    (setq xn11 (vl-string-search ";" charxn1))
    (setq movexc (substr charxn1 1 xn11 ))
    (setq movexn (atof movexc))
    (setq listx (cons movexn listx))
    (prin1 i)
    (prin1 listx)

    ;|(if (= i (- (length xcnlist) 3))
      (progn
        (setq listxend listx)
        (prin1 listend))
      )|;

    )
  ;(setq listend (reverse listend))
  (prin1 listx)

  )
希望版主及各位路过的高手大侠能在百忙中为我答疑解惑,小生不胜感激。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2019-1-22 00:09:00 来自手机 | 显示全部楼层
字符串搜索使用正则表达式啊!论坛有。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-19 01:16 , Processed in 0.236301 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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