找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 824|回复: 12

[编程申请]:字符串里的空格怎么删去

[复制链接]
发表于 2005-4-16 20:14:03 | 显示全部楼层 |阅读模式

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

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

×
请教各位高手
我的图面上有许多MTEXT对象,我想把每个字符串中的空格删除,该怎么编代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-4-17 04:13:05 | 显示全部楼层
[php]
(defun c:test ()
  (prompt "\n选择要修改的文字......")
  (setq ss (ssget '((0 . "*TEXT"))))
  (setq i 0)
  (repeat (sslength ss)
    (setq ent (ssname ss i))
    (setq data (entget ent))
    (setq tex (cdr (assoc 1 data)))
    (while (setq n (vl-string-position (ascii " ") tex))
      (setq tex (vl-string-subst "" " " tex n))
      (setq n (1+ n))
    )
    (setq data (subst (cons 1 tex) (assoc 1 data) data))
    (entmod data)
    (setq i (1+ i))
  )
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-17 10:49:46 | 显示全部楼层
用find命令 也可
" "替换为""
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-17 10:52:26 | 显示全部楼层
1: mtext文本很长时,仅仅dxf1是不完全的。
2:这样的话,mtext 控制符中的空格也会被干掉!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-17 12:52:34 | 显示全部楼层
(VL-LIST->STRING (VL-REMOVE 32 (VL-STRING->LIST "  Y O U ")))
一切搞定
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-18 14:04:44 | 显示全部楼层
谢谢各位热心人
我本来是用ljpnb的方法,不过有问题
狂刀 的方法根本不能用
还是舟自横的最完善
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-5 13:36:43 | 显示全部楼层
狂刀 的方法根本不能用

你试过么????!!!!!
不要乱说话
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 444个

财富等级: 日进斗金

发表于 2005-9-5 14:10:38 | 显示全部楼层
最初由 狂刀 发布
[B]
你试过么????!!!!!
不要乱说话 [/B]

在LISP程序不能支持FIND命令的使用吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-5 14:22:29 | 显示全部楼层
最初由 YueFeng 发布
[B]
在LISP程序不能支持FIND命令的使用吧。 [/B]


  狂刀也没说是用在LISP程序中啊。CAD本身的命令能解决的问题为什么还要编写所谓的代码呢?
  
最初由 走过小桥 发布
[B]

狂刀 的方法根本不能用[/B]


别人帮你解决问题,楼主你自己不试一下就下结论,也未免有点不太尊重别人了吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 444个

财富等级: 日进斗金

发表于 2005-9-5 20:08:22 | 显示全部楼层
最初由 它山之石 发布
[B]

  狂刀也没说是用在LISP程序中啊。CAD本身的命令能解决的问题为什么还要编写所谓的代码呢?
  
[QUOTE]最... [/B]

这个版块就是LISP开发技术版呀。这又不是AutoCAD软件使用版。
在程序中有时会需要用到查找替换的,在LISP中可以引用这个命令更好,不能引用的话,只有修改对象数据表了,偏麻烦。
可见这个还是有所谓的。:)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-5 21:13:24 | 显示全部楼层
因为1楼没有说要lisp,所以。。。。只要能解决问题,就是个办法
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-5 22:41:31 | 显示全部楼层
可以利用vl-string-search和vl-string-subst函数:
  1. [FONT=courier new](load "xyp_lib")
  2. ;|加载通用函数(可在签名栏直接下载)
  3. 如果已经下载xyp_lib并放到搜索路径下可以不再下载!
  4. 利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
  5. 1.在acad.lsp中增加(load"xyp_lib")
  6. 2.在每个程序内增加(load"xyp_lib")
  7. 3.在command下,输入(load"xyp_lib")
  8. 4.在菜单.mnl中增加(load"xyp_lib")
  9. 5.将xyp_lib.vlx文件直接拽到cad屏幕
  10. [COLOR=red] ★通用函数下载地址:[/COLOR]
  11. [url]http://www.xdcad.net/forum/attachment.php?s=&postid=1606661[/url]
  12. [url]http://www.mjtd.com/bbs/dispbbs.asp?boardID=3&ID=37554&page=1[/url]|;


  13. ;;;删除字符串中的空格
  14. (defun c:test1 ()
  15.   (CMDLA0)
  16.   (setq        ss (ssget '((0 . "*TEXT")))
  17.         i  -1
  18.   )
  19.   (while (setq s1 (ssname ss (setq i (1+ i))))
  20.     (setq txt (DXF 1 (entget s1)))
  21.     (while (vl-string-search " " txt)
  22.       (setq txt (vl-string-subst "" " " txt))
  23.     )
  24.     (SUB_UPD s1 1 txt)
  25.   )
  26.   (CMDLA1)
  27. )

  28. ;;;删除字符串中特定的字符
  29. (defun c:test2 ()
  30.   (CMDLA0)
  31.   (setq        txt1 (USTR 1 "\n输入要删除的字符" txt1 nil)
  32.         ss   (ssget '((0 . "*TEXT")))
  33.         i    -1
  34.   )
  35.   (while (setq s1 (ssname ss (setq i (1+ i))))
  36.     (setq txt (DXF 1 (entget s1)))
  37.     (while (vl-string-search txt1 txt)
  38.       (setq txt (vl-string-subst "" txt1 txt))
  39.     )
  40.     (SUB_UPD s1 1 txt)
  41.   )
  42.   (CMDLA1)
  43. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 444个

财富等级: 日进斗金

发表于 2005-9-6 08:39:33 | 显示全部楼层
最初由 狂刀 发布
[B]因为1楼没有说要lisp,所以。。。。只要能解决问题,就是个办法 [/B]

条条大路通罗马,我们只希望以后FIND命令能直接支持命令行输入方式。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 12:43 , Processed in 0.213865 second(s), 56 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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