块名和符号,以及ssget的讨论
定义一个块的时候,有的符号不支持作为块名的一部分,有的符号可以包含在块名内,但是不支持ssget,以下是我测试过的符号,欢迎讨论,欢迎指正。.块名不支持的字符:\ < > / ? “ : ; * | , = `.块名可包含以下符号,支持ssget按条件选择获得块集合的:! $ % ^ . & ~ ( ) - _ + { }.块名可包含以下符号,但是不支持ssget按条件选择获得块集合的:@ # [ ] 对于第三组,要想ssget按条件选择获得块集合,思路是给符号前加转义符"`"。以下从必强版主那得到启发检索第组带有特殊符号的办法:;;;替换字符串中的特殊字符(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
感谢楼主分享! 感谢楼主分享!
页:
[1]