明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3089|回复: 14

[已解答] 求去除文字最前面和最后面空格,中间空格不去除

[复制链接]
发表于 2014-3-3 11:54 | 显示全部楼层 |阅读模式
4明经币
求去除文字最前面和最后面空格,中间空格不去除,即去除字符串最前面的和最后面的空字符串,中间空字符串不去除

最佳答案

查看完整内容

(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 ) ) ) ) )
发表于 2014-3-3 11:54 | 显示全部楼层
(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
  )
)
      )
  )
)

点评

太精辟了  发表于 2014-3-4 13:57
回复

使用道具 举报

发表于 2014-3-3 12:18 | 显示全部楼层
用 vl-string-trim 函数!
回复

使用道具 举报

发表于 2014-3-3 13:04 | 显示全部楼层
本帖最后由 qiushizhda 于 2014-3-3 13:13 编辑

新手练习,用了G版提供参数vl-string-trim ,你试试 呵呵
  1. (defun c:tt (/ wzxz wz-i)
  2. (vl-load-com)
  3. (setq wzxz (ssget '((0 . "text") (1 . "* , *")))  )
  4. (if wzxz
  5.     (progn  (setq wz-i (sslength wzxz))
  6.             (repeat  (sslength wzxz)
  7.                      (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))))
  8. )
  9. (setq wz-i (1- wz-i))))
  10. (alert "无需处理")))
回复

使用道具 举报

发表于 2014-3-3 13:07 | 显示全部楼层
函数学习
vl-string-trim
从字符串的开始和结束删除指定字符
(vl-string-trim char-set str)
回复

使用道具 举报

 楼主| 发表于 2014-3-3 14:30 | 显示全部楼层
本帖最后由 品茗新秀 于 2014-3-3 14:45 编辑
qiushizhda 发表于 2014-3-3 13:07
函数学习
vl-string-trim
从字符串的开始和结束删除指定字符


程序执行后,字符串各单字符间距保存原来的样子,现在是删除了空字符,可以看上去太另扭了








文字间距应调成原来的大小


本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2014-3-3 15:48 | 显示全部楼层
品茗新秀 发表于 2014-3-3 14:30
程序执行后,字符串各单字符间距保存原来的样子,现在是删除了空字符,可以看上去太另扭了

先用ET的文本对齐点命令把要去除空格的字符串改成左对齐(去前面空格)或右对齐(去后面空格),楼主这个字符串是fit对齐方式,在两点间是充满的,所以直接去空格是要改变显示的。
回复

使用道具 举报

发表于 2014-3-4 00:25 | 显示全部楼层


本帖子中包含更多资源

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

x

评分

参与人数 1明经币 +1 收起 理由
品茗新秀 + 1

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-3-4 12:20 | 显示全部楼层
xyp1964 发表于 2014-3-4 00:25

程序中第一个字符是空格,程序取后面的,如果前几个都是空字符串,按程序就不对了,大师帮查一下

点评

“只对来件负责”  发表于 2014-3-4 12:24
回复

使用道具 举报

发表于 2014-3-4 12:28 | 显示全部楼层
品茗新秀 发表于 2014-3-4 12:20
程序中第一个字符是空格,程序取后面的,如果前几个都是空字符串,按程序就不对了,大师帮查一下


本帖子中包含更多资源

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

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-17 19:01 , Processed in 0.311994 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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