找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: 清风明月10

[已解决] 求批量替换单行或多行文字的LSP源代码

[复制链接]
发表于 2013-11-29 15:58:27 | 显示全部楼层
清风明月10 发表于 2013-11-29 15:57
你肯定要测试一下才好啊!

没有图没有 txt 去哪测试!  新字是前面的还是后面的?

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

使用道具 举报

 楼主| 发表于 2013-11-29 15:58:51 | 显示全部楼层
清风明月10 发表于 2013-11-29 15:57
你肯定要测试一下才好啊!

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

使用道具 举报

 楼主| 发表于 2013-11-29 16:03:28 | 显示全部楼层
本帖最后由 清风明月10 于 2013-11-29 16:04 编辑

旧的在前,亲的在后。至于图,很简单的啊,写几个文字就是测试图了。文本文件也新建一个,将我发的替换配对复制粘贴进去就是了

点评

忘了 Put-textstring 了  详情 回复 发表于 2013-11-29 16:11
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

发表于 2013-11-29 16:11:06 | 显示全部楼层
清风明月10 发表于 2013-11-29 16:03
旧的在前,亲的在后。至于图,很简单的啊,写几个文字就是测试图了。文本文件也新建一个,将我发的替换配对 ...

忘了 Put-textstring
  1. (defun c:tt (/ fl ss lst)
  2.   (if (and (setq fl (getfiled "Select Txt" "" "txt" 8))
  3.            (setq ss (ssget '((0 . "*text"))))
  4.       )
  5.     (progn
  6.       (setq lst        (XD::List:FromFile fl)
  7.             lst        (mapcar
  8.                   '(lambda (x)
  9.                      (mapcar
  10.                        'vl-princ-to-string
  11.                        (read (strcat "(" (vl-string-subst " " "镡" x) ")"))
  12.                      )
  13.                    )
  14.                   lst
  15.                 )
  16.       )
  17.       (mapcar '(lambda (x / str)
  18.                  (setq str (vla-get-textstring x))
  19.                  (mapcar '(lambda (s)
  20.                             (if        (vl-string-search (car s) str)
  21.                               (vla-put-textstring
  22.                                 x
  23.                                 (vl-string-subst (cadr s) (car s) str)
  24.                               )
  25.                             )
  26.                           )
  27.                          lst
  28.                  )
  29.                )
  30.               (ss->objs ss)
  31.       )
  32.     )
  33.   )
  34.   (princ)
  35. )
  36. (defun ss->objs        (ss / i el)
  37.   (if (eq (type ss) 'PICKSET)
  38.     (progn
  39.       (setq i (sslength ss))
  40.       (while (setq e (ssname ss (setq i (1- i))))
  41.         (setq el (cons e el))
  42.       )
  43.       (mapcar 'vlax-ename->vla-object el)
  44.     )
  45.   )
  46. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-11-29 16:16:03 | 显示全部楼层
本帖最后由 清风明月10 于 2013-11-29 16:19 编辑

只替换了第1个啊,没有全部替换D:\Backup\我的文档\QQ截图20121029161522.jpg QQ截图20121029161522.jpg

点评

你也没说全部替换啊!  详情 回复 发表于 2013-11-29 16:22
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-11-29 16:22:06 | 显示全部楼层
我需要全部替换的,帮忙搞好一下,好吗?:$:P

点评

下次用图把问题说清楚  详情 回复 发表于 2013-11-29 16:25
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

发表于 2013-11-29 16:22:29 | 显示全部楼层
清风明月10 发表于 2013-11-29 16:16
只替换了第1个啊,没有全部替换

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

使用道具 举报

 楼主| 发表于 2013-11-29 16:25:28 | 显示全部楼层
有四个“1”___“1111”,才替换一个“1”,不合理
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

发表于 2013-11-29 17:11:29 | 显示全部楼层
清风明月10 发表于 2013-11-29 16:25
有四个“1”___“1111”,才替换一个“1”,不合理


  1. (defun c:tt (/ fl ss lst)
  2.   (if (and (setq fl (getfiled "Select Txt" "" "txt" 8))
  3.            (setq ss (ssget '((0 . "*text"))))
  4.       )
  5.     (progn
  6.       (setq lst        (XD::List:FromFile fl)
  7.             lst        (mapcar
  8.                   '(lambda (x)
  9.                      (mapcar
  10.                        'vl-princ-to-string
  11.                        (read (strcat "(" (vl-string-subst " " "镡" x) ")"))
  12.                      )
  13.                    )
  14.                   lst
  15.                 )
  16.       )
  17.       (mapcar '(lambda (x / str)
  18.                  (setq str (vla-get-textstring x))
  19.                  (mapcar '(lambda (s)
  20.                             (while (vl-string-search (car s) str)
  21.                               (setq str        (vl-string-subst
  22.                                           (cadr s)
  23.                                           (car s)
  24.                                           str
  25.                                         )
  26.                               )
  27.                             )
  28.                             (vla-put-textstring x str)
  29.                           )
  30.                          lst
  31.                  )
  32.                )
  33.               (ss->objs ss)
  34.       )
  35.     )
  36.   )
  37.   (princ)
  38. )
  39. (defun ss->objs        (ss / i el)
  40.   (if (eq (type ss) 'PICKSET)
  41.     (progn
  42.       (setq i (sslength ss))
  43.       (while (setq e (ssname ss (setq i (1- i))))
  44.         (setq el (cons e el))
  45.       )
  46.       (mapcar 'vlax-ename->vla-object el)
  47.     )
  48.   )
  49. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 14:57 , Processed in 0.334609 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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