找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 748|回复: 0

[LISP函数-字串]:字串列表解析为1个具分隔符的字串

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2005-9-7 18:10:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

  1. ;;;将一个字符串列表解析为1个具有分隔符的字符串
  2. ;;;==================================================================
  3. ;;; (xd-strunparse lst delimiter)
  4. ;;;             将一个字符串列表解析为1个具有分隔符的字符串
  5. ;;;------------------------------------------------------------------
  6. ;;; 参数:
  7. ;;;             str                     要连接的列表
  8. ;;;             delimiter       使用的分隔符
  9. ;;;------------------------------------------------------------------
  10. ;;;     返回:
  11. ;;;             一个字符串。
  12. ;;;             示例:
  13. ;;;             (setq a '("harp" "guiness" "black and tan"))
  14. ;;;             (xd-strunparse a ",")
  15. ;;;             返回:
  16. ;;;             "harp,guiness,black and tan"
  17. ;;;------------------------------------------------------------------
  18. (defun xd-string_unparse (lst delimiter / return)
  19.   (setq return "")
  20.   (foreach str lst
  21.     (setq return (strcat return delimiter str))
  22.   )
  23.   (substr return 2)
  24. )
  25. ;;Author : eachy
  26. (defun xd-string_join (strlst div /)
  27.   (vl-string-trim
  28.     div
  29.     (apply 'strcat (mapcar '(lambda (x) (strcat x div)) strlst))
  30.   )
  31. )
  32. ;;应用示例
  33. (while (setq e0 (entsel "\n拾取删除图块<退出>: "))
  34.   (if (and (setq el (entget (car e0)))
  35.            (= (cdr (assoc 0 el)) "INSERT")
  36.            (setq bn (cdr (setq b (assoc 2 el))))
  37.            (not (member bn bln))
  38.       )
  39.     (progn
  40.       (setq bln (cons bn bln))
  41.       (redraw (car e0) 3)
  42.       (xd-clearcset)
  43.       (setq ss (ssget "X" (list '(0 . "INSERT") b)))
  44.       (vla-highlight (xd-activesset) :vlax-true)
  45.       (prompt (strcat "\n选中了""
  46.                       (setq sbln (String_Join
  47.                                    (reverse bln)
  48.                                    ","
  49.                                  )
  50.                       )
  51.                       ""块!"
  52.               )
  53.       )
  54.     )
  55.     (princ "\n选择非图块, 重新选择!")
  56.   )
  57. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 07:08 , Processed in 0.181611 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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