字符串另类分解?
本帖最后由 llsheng_73 于 2015-11-26 23:28 编辑琴剑江山_10184 发表于 2015-11-23 11:50 static/image/common/back.gif
不知道是不是要这样的效果
(defun strsplit(str splits / i a l)(while(<""str)
(if(vl-remove'nil(mapcar'(lambda(x)(vl-string-search x str))splits))
(setq i(car(vl-sort(vl-remove'nil(mapcar'(lambda(x)(if(setq l(vl-string-search x str))(cons l x)))splits))
'(lambda(s1 s2)(<(car s1)(car s2)))))
a(cons(substr str 1(car i))a)
str(substr str(+(car i)(strlen(cdr i))1)))
(setq a(cons str a)str"")))
(reverse a))
(defun tt(str)(apply'append(mapcar'(lambda(x / a b c)
(setq a(STRSPLIT x'("*"))c(if(cadr a)(atoi(cadr a)))a(car a)b nil)
(if(> c 0)(repeat c(setq b(cons a b)))(list a)))
(STRSPLIT str'("+")))))
(defun c:tt(/ str)(if(>(setq str(getstring"\n测试:"))"")(tt str)))
(tt"A+B*2+C+D*E+F*3")==>("A" "B" "B" "C" "D" "F" "F" "F")
llsheng_73 发表于 2015-11-26 19:24 static/image/common/back.gif
73哥出手就是不一样了,学习了 琴剑江山_10184的程序还没完全理解呢,73哥的程序和看天书一样了。
页:
1
[2]