Sweety 发表于 2022-7-6 08:23:01

哇,李,谢谢你。
 
我真的很想看香草口味的。你循环密码的方式让我疯狂。
 
虽然使用entupd函数,但它不会替换文本
 
(defun noSpaces (str)
(if (eq (type str) 'STR)
   (vl-list->string (vl-remove 32 (vl-string->list str)))
)
)
(setq e (car (entsel "\n Select Text :")))
(setq ent (entget e))
(setq tt (cdr (assoc 1 ent)))
(noSpaces tt)
(entupd ent)

alanjt 发表于 2022-7-6 08:26:03

普通和递归。
 
(defun noSpaces (str / v)
(if (eq str "")
   ""
   (if (eq (setq v (substr str 1 1)) " ")
   (noSpaces (substr str 2))
   (strcat v (noSpaces (substr str 2)))
   )
)
)

Sweety 发表于 2022-7-6 08:28:12

是的,很抱歉,现在可以了。
(defun noSpaces (str)
(if (eq (type str) 'STR)
   (vl-list->string (vl-remove 32 (vl-string->list str)))
)
)
(setq e (car (entsel "\n Select Text :")))
(setq ent (entget e))
(setq tt (cdr (assoc 1 ent)))
(entupd (cdr (assoc -1 (entmod (subst (cons 1 (noSpaces tt))(assoc 1 ent) ent)))))


 
非常感谢Alanjt
我再次为误解感到抱歉。

Lee Mac 发表于 2022-7-6 08:31:08

 
不客气,很高兴你最后到了那里

Sweety 发表于 2022-7-6 08:35:21

 
是 啊我很尴尬我的错误(entupd和entmod),他们显示我是一个愚蠢的。
 
非常感谢李

alanjt 发表于 2022-7-6 08:37:44

一个人的愚蠢程度取决于他允许自己的愚蠢程度。

Sweety 发表于 2022-7-6 08:42:22

 
不完全是这样,因为缺乏信息并不是允许别人那样叫我。
 
可能在某些情况下,但不是所有情况下。

alanjt 发表于 2022-7-6 08:44:29

嗯,你是唯一一个说自己愚蠢的人。此外,您只是抓取并使用了提供的一些代码,而没有先研究它-您会意识到它只改变了字符串,而对对象没有任何作用。你受到的任何限制都是你自己造成的。我给了你删除空格的方法,如果你试图编辑字符串,你应该已经有了编辑对象的实用知识,而不是依赖于我或其他任何人。

alanjt 发表于 2022-7-6 08:46:18

顺便说一句,李,我真的很喜欢重复弦长的想法。然而,当(eq s“”)已经足够时,为什么要担心将字符串转换为ascii字符?

Lt Dan's l 发表于 2022-7-6 08:50:47

 
你是说愚蠢就是愚蠢吗?
页: 1 [2]
查看完整版本: 删除文本中的空格