凡仔仔 发表于 2012-10-29 19:15:05

表示8楼的代码很牛逼,能够真正达到一般化的完美效果!

张和平 发表于 2013-7-20 01:01:24

jh1005 发表于 2011-4-29 23:11 static/image/common/back.gif
在个类似的函数:

;用分隔符解释字符串成表 by fsxm
;string=字符串,strkey=分隔符 修改 by PEACE
(defun fsxm-Split (string strkey / po strlst xlen)
(if (= strkey "")
    (setq strlst (cons string '()))
    (progn
      (setq xlen (1+ (strlen strkey)))
      (while (setq po (vl-string-search strkey string))
      (setq strlst (cons (substr string 1 po) strlst))
      (setq string (substr string (+ po xlen)))
      )
      (setq strlst (reverse (cons string strlst)))
    )
)
strlst
)

freeok 发表于 2013-11-24 10:47:28

自贡黄明儒 发表于 2011-4-29 19:40 static/image/common/back.gif
;;;谢谢版主highflybird,有了这样的函数,放数据的.text文件就简单多了
;;;highflybird真是高手呀!!!就 ...

前辈,请问下这个函数我要怎么用才行呢?我想要一个分割带空格的字串程序,就是把 "120 121 122"分割成“120” “121” “122”.能帮下我吗?谢谢!

freeok 发表于 2013-11-25 17:19:15

freeok 发表于 2013-11-24 10:47 static/image/common/back.gif
前辈,请问下这个函数我要怎么用才行呢?我想要一个分割带空格的字串程序,就是把 "120 121 122"分割成“ ...

前辈,我想直接应用这个:
   (defun parse4 (str delim / L1 L2)
(setq      str   (vl-string->list str)
      delim (vl-string->list delim)
)
(while str
    (if      (not (member (car str) delim))
      (setq l1 (cons (car str) l1))
      (if l1
      (setq l2 (cons (vl-list->string (reverse l1)) l2)
            l1 nil
      )
      )
    )
    (setq str (cdr str))
)
(if l1
    (setq l2 (cons (vl-list->string (reverse l1)) l2))
)
(reverse l2)
)

把这句(defun parse4 (str delim / L1 L2)
改成(defun C:TT (str delim / L1 L2)

怎么就应用不了呢?谢谢。

freeok 发表于 2013-11-25 17:22:14

另外我想复制写入122,是不是加上
   (setq enpp (entsel "选取文字:"))
       (setq enp enpp)
       (command "_.copy" enp)
   (SETQ PT (getpoint "\n选择基点:"))
       (COMMAND "TEXT" PT "300" "0.7" enp)
就可以了?

陨落 发表于 2015-5-22 09:34:39

拜读各位大神的回答,高飞鸟的思路我也是看醉了,匪夷所思

GILES.LEI 发表于 2019-2-3 13:12:35

highflybird 发表于 2011-4-29 19:12
_$ (setq str "名称   重量数量")
"名称   重量数量"
_$ (setq str (STRCAT "(" str ")"))


用这个方法汉字中有小数点会出错这个是read函数的问题,例如:
命令: (READ (A.B))
; 错误: no function definition: A

页: 1 [2]
查看完整版本: 求助:有没有函数方便地将字符串分割