本帖最后由 尘缘一生 于 2014-6-15 23:30 编辑
请大家看看错在哪里啦?
中西文能彻底分开,就能解决问题的。 - ;;;*****************************************************************
- (defun yb:string_split (str / strlst strlst1 hz_str e_str)
- (setq strlst (vl-string->list str)
- strlst1 '()
- )
- (while strlst
- (cond
- ((> (car strlst) 159)
- (setq e_str nil)
- (if hz_str
- (setq hz_str (append (list (car strlst)) hz_str))
- (setq hz_str (list (car strlst)))
- )
- (setq strlst (cdr strlst))
- (setq hz_str (append (list (car strlst)) hz_str))
- (setq strlst (cdr strlst))
-
- (if (or (< (car strlst) 159)
- (= strlst "")
- )
- (if strlst1
- (setq strlst1 (append strlst1 (list hz_str)))
- (setq strlst1 (list hz_str))
- )
- )
- )
- ((< (car strlst) 159)
- (setq hz_str nil)
- (if e_str
- (setq e_str (append (list (car strlst)) e_str))
- (setq e_str (list (car strlst)))
- )
- (setq strlst (cdr strlst))
- (if (or (> (car strlst) 159)
- (= strlst "")
- )
- (if strlst1
- (setq strlst1 (append strlst1 (list e_str)))
- (setq strlst1 (list e_str))
- )
- )
- )
- )
- )
- (mapcar 'vl-list->string (mapcar 'reverse strlst1))
- )
- ;;;---------------------------------------------------
- (defun C:FZX (/ s n l ww pt1)
- (setq s(ssget ))
- (setq l(- (sslength s) 1))
- (setq n 0)
- (while (<= n l)
- (setq pt1(entget(ssname s n)))
- (setq ww(cdr(assoc 1 pt1)))
- (yb:string_split ww)
- (setq n (+ n 1))
- )
- )
- ;;;*****************************************************************
|