用“+”串连字符
(defun c:tt13(/ en ent entbak i jia m n name namebak ss str)(setq str "")
(setq jia "+")
(setq ss (ssget '((0 . "text"))))
(setq i 0)
(repeat (sslength ss)
(setq name (ssname ss i))
(print name)
(setq str (strcat str (cdr (assoc 1 (setq ent (entget name)))) jia))
(print i)
(print str)
(if (= i (- (sslength ss) 1))
(setq str (vl-string-trim "+" str))
)
(if (null entbak)
(setq entbak entnamebak name)
(progn (entmod (subst(cons 1 str)(assoc 1 entbak) entbak ))(entdel name))
)
(redraw namebak 3)
(if namebak (redraw namebak 4) )
(setq i (1+ i))
)
(princ)
)
一般的,我们对于这种Strings的各种常用操作,会写成通用的函数。
各种语言的 string类 都提供了很多的这些函数。
就这个String的Join操作,分隔字符串可以是任意的一个 String, 而不限于是 “+”。
(vllib_string_JoinBy sSeparator lsStingList iReturnType)
;; Pars:
;; sSeparator : 分隔字符串
;; lsStringList : 字符串列表, 格式为 '("a" "b" "c" ...)
;; iReturnType : 返回值类型,整数:
;; =0 :"a/b/c/d"
;; =1 : "/a/b/c/d"
;; =2 : "a/b/c/d/"
;; =3 :"/a/b/c/d/"
;; 返回值:字符串
感谢大佬分享~ 谢谢楼主分享
谢谢楼主分享 {:1_1:}谢谢楼主分享 e2002 发表于 2023-1-14 12:21
一般的,我们对于这种Strings的各种常用操作,会写成通用的函数。
各种语言的 string类 都提供了很多的这 ...
大佬没看到函数呢 e2002 发表于 2023-1-14 12:21
一般的,我们对于这种Strings的各种常用操作,会写成通用的函数。
各种语言的 string类 都提供了很多的这 ...
谢谢指教,我熟悉vba,不熟悉autolisp,因工作需要才开始学,知识点很碎片化不系统,用到东西都是网上摘抄修改而成。于菜鸟的我还请指点方向,想系统性的学习autolisp。 真能把所有数字列成+法?
页:
[1]