(defun c:test()
(setq oldtxt (getstring t "\n输入旧字符串:"))
(setq newtxt (getstring t "\n输入新字符串:"))
(setq layn (strcase (getstring "\n输入图层:")))
(setq ss (ssget "X" (list '(0 . "TEXT") (cons 8 layn))))
(setq oldnum (strlen oldtxt))
(setq newnum (strlen newtxt))
(setq i 0)
(repeat (sslength ss)
(setq ssn (ssname ss i))
(setq ssdata (entget ssn))
(setq p 1)
(setq ent (assoc 1 ssdata))
(setq entxt (cdr ent))
(setq ennum (strlen entxt))
(setq aa "")
(while (<= p ennum)
(setq kk (substr entxt p oldnum))
(if (= kk oldtxt)
(progn
(setq kk newtxt)
(setq p (- (+ p oldnum) 1))
)
(setq kk (substr entxt p 1))
)
(setq aa (strcat aa kk))
(setq p (1+ p))
)
(setq aa (cons 1 aa))
(setq ssdata (subst aa ent ssdata))
(entmod ssdata)
(setq i (1+ i))
)
(prin1)
)