马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×

- ;;中西文拆分 By Eachy
- (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))
- (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))
- )
|