llsheng_73 发表于 2015-11-26 19:24:30

字符串另类分解?

本帖最后由 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")

琴剑江山_10184 发表于 2015-11-26 21:43:27

llsheng_73 发表于 2015-11-26 19:24 static/image/common/back.gif


73哥出手就是不一样了,学习了

lxdz443 发表于 2015-11-27 22:50:53

琴剑江山_10184的程序还没完全理解呢,73哥的程序和看天书一样了。
页: 1 [2]
查看完整版本: 关于字符串过滤的问题请教大家。