求去除文字最前面和最后面空格,中间空格不去除
求去除文字最前面和最后面空格,中间空格不去除,即去除字符串最前面的和最后面的空字符串,中间空字符串不去除 (defun c:tt ( / dxf1 e el i ss)(vl-cmdf "justifytext" (ssget "x" '((0 . "*text"))) "" "l")
(if (setq ss (ssget "x" '((0 . "*text"))))
(repeat (setq i (sslength ss))
(setq e (ssname ss (setq i (1- i)))
el (entget e)
dxf1 (assoc 1 el)
)
(entmod (subst
(cons 1 (vl-string-trim " " (cdr dxf1)))
dxf1
el
)
)
)
)
)
用 vl-string-trim 函数! 本帖最后由 qiushizhda 于 2014-3-3 13:13 编辑
新手练习,用了G版提供参数vl-string-trim ,你试试 呵呵
(defun c:tt (/ wzxz wz-i)
(vl-load-com)
(setq wzxz (ssget '((0 . "text") (1 . "* , *"))))
(if wzxz
(progn(setq wz-i (sslength wzxz))
(repeat(sslength wzxz)
(entmod (subst(cons 1 (vl-string-trim " " (cdr (assoc 1 (entget (ssname wzxz (1- wz-i))))))) (assoc 1 (entget (ssname wzxz (1- wz-i)))) (entget (ssname wzxz (1- wz-i))))
)
(setq wz-i (1- wz-i))))
(alert "无需处理"))) 函数学习
vl-string-trim
从字符串的开始和结束删除指定字符
(vl-string-trim char-set str)
本帖最后由 品茗新秀 于 2014-3-3 14:45 编辑
qiushizhda 发表于 2014-3-3 13:07 http://bbs.mjtd.com/static/image/common/back.gif
函数学习
vl-string-trim
从字符串的开始和结束删除指定字符
程序执行后,字符串各单字符间距保存原来的样子,现在是删除了空字符,可以看上去太另扭了
文字间距应调成原来的大小
品茗新秀 发表于 2014-3-3 14:30 static/image/common/back.gif
程序执行后,字符串各单字符间距保存原来的样子,现在是删除了空字符,可以看上去太另扭了
先用ET的文本对齐点命令把要去除空格的字符串改成左对齐(去前面空格)或右对齐(去后面空格),楼主这个字符串是fit对齐方式,在两点间是充满的,所以直接去空格是要改变显示的。
xyp1964 发表于 2014-3-4 00:25 static/image/common/back.gif
程序中第一个字符是空格,程序取后面的,如果前几个都是空字符串,按程序就不对了,大师帮查一下 品茗新秀 发表于 2014-3-4 12:20 static/image/common/back.gif
程序中第一个字符是空格,程序取后面的,如果前几个都是空字符串,按程序就不对了,大师帮查一下
页:
[1]
2