定义一个块的时候,有的符号不支持作为块名的一部分,有的符号可以包含在块名内,但是不支持ssget,以下是我测试过的符号,欢迎讨论,欢迎指正。 [1].块名不支持的字符: \ < > / ? “ : ; * | , = ` [2].块名可包含以下符号,支持ssget按条件选择获得块集合的: ! $ % ^ . & ~ ( ) - _ + { } [3].块名可包含以下符号,但是不支持ssget按条件选择获得块集合的: @ # [ ] 对于第三组,要想ssget按条件选择获得块集合,思路是给符号前加转义符"`"。 以下从必强版主那得到启发检索第[3]组带有特殊符号的办法: ;;;替换字符串中的特殊字符 (defun change_blkname_sign () (setq list_sign (list "#" "@" "[" "]")) (setq blkname1 blkname) (setq n1 0) (repeat 4 (setq CurChar (nth n1 list_sign)) (setq NewChar (strcat "`" CurChar)) (CharTran) (setq n1 (1+ n1)) ) )
(defun CharTran () (setq Return "") (setq n2 1) (repeat (strlen blkname1) (setq char (substr blkname1 n2 1)) (if (= char CurChar) (setq Return (strcat Return NewChar)) (setq Return (strcat Return char)) ) ;_ end of if (setq n2 (1+ n2)) ) ;_ end of repeat (setq blkname1 Return) ) ;_ end of defun
|