lisp 非纯数值文字数字加减值
答案:1 悬赏:30
解决时间 2021-01-04 11:41
- 提问者网友:树红树绿
- 2021-01-03 14:37
lisp 非纯数值文字数字加减值
最佳答案
- 二级知识专家网友:北城痞子
- 2021-01-03 15:12
先把非数字部分提取出来 设为 a,再转换为数字 设为 b,然后 将 a 和 b+N 连接起来即可。
(defun make-adder (n)
(lambda (it)
(format nil
"~a~a"
(regex-replace-all "[0-9]" it "")
(+ n (parse-integer (regex-replace-all "[^0-9]" it ""))))))
;example
(mapcar (make-adder 44) '("A01" "A02" "A03" "A04"))
(defun make-adder (n)
(lambda (it)
(format nil
"~a~a"
(regex-replace-all "[0-9]" it "")
(+ n (parse-integer (regex-replace-all "[^0-9]" it ""))))))
;example
(mapcar (make-adder 44) '("A01" "A02" "A03" "A04"))
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯