现来个简单点的
 - ;(mapcar 'test '("A2x3" "A2x2.5" "A3x4"))
- ;返回值:'("1.5A1" "1.25A1" "2A2")
- (defun test (str / i j k newstr)
- (setq i (substr str 2 1))
- (setq j (substr str (+ (vl-string-search "x" str) 2)))
- (setq k (/ (read j) 2.0))
- (setvar "dimzin" 8)
- (setq newstr (strcat (rtos k 2 4) "A" (itoa (1- (atoi i)))))
- )
|