本帖最后由 llsheng_73 于 2014-9-7 13:10 编辑
(mapcar'VL-PRINC-TO-STRING(vl-remove-if'(lambda(x)(member(type x)'(INT REAL)))'(中国 广东 20.5 广州 020)))
;;;("中国" "广东" "广州")
(setq a'(中国 广东 20.5 广州 020))
(mapcar'VL-PRINC-TO-STRING(vl-remove-if'(lambda(x)(member(type x)'(INT REAL)))a))
;;;("中国" "广东" "广州")
或者
(SETQ A'(中国1 广东 20.5 广州 20))
;;(中国1 广东 20.5 广州 20)
(VL-REMOVE-IF'(labda(x)(=(rtos(atof x))x))(mapcar'vl-princ-to-string a));;此办法不知道对于实数位是否有要求不清楚,所以虽然简单但不一定保险
;;("中国1" "广东" "广州")
至于赋值可以用SET
(mapcar'set'(a1 a2 a3 a4)'("中国" "广东" "广州"))
然后看看a1,a2,a3吧
- (vl-remove-if'(lambda(x)(distof x))(mapcar'vl-princ-to-string'(中国1 广东 20.5 广州 020)))
- (mapcar'set'(a1 a2)(vl-remove-if'(lambda(x)(distof x))(mapcar'vl-princ-to-string'(中国1 广东 20.5 广州 020)))
|