删除文字的首尾空格后原地保持文字位置
(DEFUN C:TT ()(PRINC "\Select Text(s) 选择文字 :")
(IF (SETQ SS (SSGET '((0 . "TEXT") (1 . "* *")))) (PROGN
(SETQ I -1)
(REPEAT (SSLENGTH SS)
(SETQ ENT (ENTGET (SSNAME SS (SETQ I (1+ I))))
AA (CDR (ASSOC 1 ENT))
CC ""
J 0)
(REPEAT (STRLEN AA)
(IF (/= (SETQ TMP (SUBSTR AA (SETQ J (1+ J)) 1)) " ")
(SETQ CC (STRCAT CC TMP))
)
)
(SETQ ENT (SUBST (CONS 1 CC) (ASSOC 1 ENT) ENT))
(ENTMOD ENT)
)
))
(PRINC)
)
这个是ZZXXQQ写的,删除空格后文字好像会移动,而且文字中间的空格也被删了,最好是原地保持文字,同时要提示用户是否删除文字中间的空格
哪位师傅看看有没有高招啊??
谢谢!!!
删除空格前把文字修改成正中格式即可
(DEFUN C:TT ()
(PRINC "\Select Text(s) 选择文字 :")
(IF (SETQ SS (SSGET '((0 . "TEXT") (1 . "* *")))) (PROGN
(SETQ I -1)
(initget "Yes No")
(setq kd (getkword "\n[删全部空格Yes/删头尾空格No]<No>"))
(if (null kd) (setq kd "No"))
(REPEAT (SSLENGTH SS)
(SETQ ENT (ENTGET (SSNAME SS (SETQ I (1+ I))))
AA (CDR (ASSOC 1 ENT))
CC ""
J 0)
(setq p1 (car (textbox ent)))
(if (= "Yes" kd)
(REPEAT (STRLEN AA)
(IF (/= (SETQ TMP (SUBSTR AA (SETQ J (1+ J)) 1)) " ")
(SETQ CC (STRCAT CC TMP))
)
)
(setq CC (vl-string-trim " " AA))
)
(SETQ ENT (SUBST (CONS 1 CC) (ASSOC 1 ENT) ENT))
(ENTMOD ENT)
(setq p2 (car (textbox ent)))
(command "move" (cdr (assoc -1 ent)) "" p2 p1)
)
))
(PRINC)
)
Gu_xl 发表于 2012-11-15 13:19 static/image/common/back.gif
师傅:如果首端有空格的话,执行后文字会往前移动,不会原地保留
中间的空格删除不掉
师傅再看看
谢谢!! 我做了一个gif的动画,执行完毕后文字就跑了 dcl1214 发表于 2012-11-15 13:36 static/image/common/back.gif
师傅:如果首端有空格的话,执行后文字会往前移动,不会原地保留
中间的空格删除不掉
师傅再看看
执行完毕后文字跑了 Gu_xl 发表于 2012-11-15 13:19
多行文本删不了 太好了,学习了!
页:
[1]