linheyuanpcb 发表于 2019-12-3 19:56:24

LISP 是否可以编辑TXT文本?读入修改后重新输出 如题

%
(12ASD)
M 1 2 5 N 0 6 8
X125. Y125.
M0S
BS1
.
.
.
%
--------假设以上是1.txt 是否可用LISP读入后在每行首增加一个排序?
每行首都有一个空格
文件始和末有一个%号
输出后结果如下
%
(12ASD)
N1 M 1 2 5 N 0 6 8
N2 X125. Y125.
N3 M0S
N4 BS1
N5 .
N6 .
N7 .
%


sharetow 发表于 2019-12-3 19:56:25

本帖最后由 sharetow 于 2019-12-11 11:37 编辑


[*](defun jj(/ ff aa lst i)
(setq ff(open "d:/1.txt" "r") lst '())
(while
    (setq aa (read-line ff))
    (setq lst (cons aa lst))
)
(close ff)
(setq
    m 1
    i 0
    lst (reverse lst)
)
(repeat (length lst)
    (if (and (/= (nth i lst) "%") (/= (nth i lst) "% ")(/= (nth i lst) "(12ASD)"))
      (progn
      (setq
          a1 (strcat "N" (itoa m) " "(nth i lst))
          lst (subst a1(nth i lst)lst)
          m (1+ m)
      )
      )
    )
    (setq i (1+ i))
)
(setq i 0)
(setq fff(open "d:/1.txt" "w"))
(repeat (length lst)
    (write-line (nth i lst)fff)
    (setq i (1+ i))
)
(close fff)
(princ)
)
页: [1]
查看完整版本: LISP 是否可以编辑TXT文本?读入修改后重新输出 如题