本帖最后由 作者 于 2008-11-9 8:56:22 编辑
(defun c:test() (foreach zb (strParse ( getenv "ACAD") ";") (setq wjm (strcat zb "\\tuceng.dat")) (if (findfile wjm) (startapp wjm) ) ) ) ;| 将具有分隔符的字符串解析为列表 作者:Roi Ledford 来源:明经通道 语法: (StrParse Str Delimiter) 参数: Str:要解析的字符串 Delimiter :要搜索的分隔符 返回值: 一个字符串列表 函数内容: |; (defun strParse (Str Delimiter / SearchStr StringLen return n char) (setq SearchStr Str) (setq StringLen (strlen SearchStr)) (setq return '()) (while (> StringLen 0) (setq n 1) (setq char (substr SearchStr 1 1)) (while (and (/= char Delimiter) (/= char "")) (setq n (1+ n)) (setq char (substr SearchStr n 1)) ) ;_ end of while (setq return (cons (substr SearchStr 1 (1- n)) return)) (setq SearchStr (substr SearchStr (1+ n) StringLen)) (setq StringLen (strlen SearchStr)) ) ;_ end of while (reverse return) ) ;_ end of defun
|