明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 自贡黄明儒

[基础] 求助:有没有函数方便地将字符串分割

  [复制链接]
发表于 2012-10-29 19:15 | 显示全部楼层
表示8楼的代码很牛逼,能够真正达到一般化的完美效果!
发表于 2013-7-20 01:01 | 显示全部楼层
jh1005 发表于 2011-4-29 23:11
在个类似的函数:

;用分隔符解释字符串成表 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
)
发表于 2013-11-24 10:47 | 显示全部楼层
自贡黄明儒 发表于 2011-4-29 19:40
;;;谢谢版主highflybird,有了这样的函数,放数据的.text文件就简单多了
;;;highflybird真是高手呀!!!就 ...

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

点评

http://bbs.mjtd.com/thread-107150-1-1.html  发表于 2013-11-25 08:56
http://bbs.mjtd.com/thread-108027-1-1.html  发表于 2013-11-25 08:55
发表于 2013-11-25 17:19 | 显示全部楼层
freeok 发表于 2013-11-24 10:47
前辈,请问下这个函数我要怎么用才行呢?我想要一个分割带空格的字串程序,就是把 "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)

怎么就应用不了呢?谢谢。
发表于 2013-11-25 17:22 | 显示全部楼层
另外我想复制写入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 | 显示全部楼层
拜读各位大神的回答,高飞鸟的思路我也是看醉了,匪夷所思
发表于 2019-2-3 13:12 | 显示全部楼层
highflybird 发表于 2011-4-29 19:12
_$ (setq str "名称   重量  数量")
"名称   重量  数量"
_$ (setq str (STRCAT "(" str ")"))

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

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-10 00:13 , Processed in 0.140953 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表