tigcat 发表于 2025-3-29 10:46:13

文本有多个空格时保留一个空格

(defun C:sckg(/ ss ent txt)
(setq ss (ssget '((0 . "TEXT,MTEXT")))) ; 选择所有文本和多行文本
(if ss
    (progn
      (setq i 0)
      (while (setq ent (ssname ss i))
      (setq txt (cdr (assoc 1 (entget ent))))
      (while (vl-string-search "" txt) ; 当存在两个以上空格时
          (setq txt (vl-string-subst " " "" txt)) ; 替换为一个空格
      )
      (entmod (subst (cons 1 txt) (assoc 1 (entget ent)) (entget ent)))
      (setq i (1+ i))
      )
    )
)
(princ)
)

muai2010 发表于 2025-3-29 12:32:25

不错,支持了
页: [1]
查看完整版本: 文本有多个空格时保留一个空格