明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4150|回复: 14

求文字去括号lsp,包括圆括号和方括号

[复制链接]
发表于 2013-9-12 11:26:19 | 显示全部楼层 |阅读模式
如题,求哪位大神上传一个lsp文件,谢谢!
发表于 2018-3-8 09:43:47 | 显示全部楼层
感谢上面发的东西  下来看看
发表于 2019-2-23 19:51:19 | 显示全部楼层
感谢 edata 分享程序!!!!
发表于 2019-2-23 02:17:51 | 显示全部楼层
[img][/img]
发表于 2013-9-12 22:22:57 | 显示全部楼层
将圆括号方括号去掉就行?
发表于 2013-9-13 00:48:40 | 显示全部楼层
去掉字符串的圆方括号。。
  1. ;;去掉字符串中的圆括号、方括号函数
  2. ;;edit by edata 2013年9月13日0:44:22
  3. ;; (sk_txt# str)
  4. ;;返回没有圆括号、方括号的字符串
  5. (defun sk_txt# (str / i stri tmp)
  6.   (if str
  7.     (progn
  8.       (setq i  1
  9.       tmp  ""
  10.       lst  '()
  11.       )
  12.       (while (/= (setq stri (substr str i 1)) "")
  13.   (setq stri (substr str i 1))
  14.   (if (or (= stri "(") (= stri ")") (= stri "[") (= stri "]"))
  15.     (princ)
  16.     (setq tmp (strcat tmp stri))
  17.   )
  18.   (setq i (1+ i))
  19.       )
  20.       (setq lst (reverse (cons tmp lst)))

  21.       lst
  22.     )
  23.   )
  24. )



  25. ;;测试
  26. (defun c:tt (/ str)
  27.   (setq str "abcd(())[]dsds")
  28.   (print (sk_txt# str))
  29.   (princ)
  30. )
 楼主| 发表于 2013-9-13 17:07:24 | 显示全部楼层

首先谢谢edata大神的帮忙,我是一个新手,把您的代码做成lsp,之后进行加载,运行tt后没有反应,还得请您出手指点一下!

本帖子中包含更多资源

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

x
 楼主| 发表于 2013-9-13 17:09:05 | 显示全部楼层
edata 发表于 2013-9-13 00:48
去掉字符串的圆方括号。。

edata大神,您写的代码,我运行之后有点小问题,可能是我操作不当,还请您指点一下,谢谢大神!
发表于 2013-9-13 17:34:25 | 显示全部楼层
本帖最后由 edata 于 2013-9-13 17:37 编辑
狼魔 发表于 2013-9-13 17:09
edata大神,您写的代码,我运行之后有点小问题,可能是我操作不当,还请您指点一下,谢谢大神!
  1. ;;去掉字符串中的圆括号、方括号函数
  2. ;;edit by edata 2013年9月13日0:44:22
  3. ;; (sk_txt# str)
  4. ;;返回没有圆括号、方括号的字符串
  5. (defun sk_txt# (str / i stri tmp)
  6.   (if str
  7.     (progn
  8.       (setq i  1
  9.       tmp  ""
  10.       lst  '()
  11.       )
  12.       (while (/= (setq stri (substr str i 1)) "")
  13.   (setq stri (substr str i 1))
  14.   (if (or (= stri "(") (= stri ")") (= stri "[") (= stri "]"))
  15.     (princ)
  16.     (setq tmp (strcat tmp stri))
  17.   )
  18.   (setq i (1+ i))
  19.       )
  20.       (setq lst (reverse (cons tmp lst)))

  21.      (car lst)
  22.     )
  23.   )
  24. )



  25. ;;测试
  26. (defun c:tt (/ str)
  27.   (setq str "abcd(())[]dsds") ;;将str的"abcd(())[]dsds"换成你需要去掉的字符串
  28.   (print (sk_txt# str))  ;;(sk_txt# str)将返回没有括号的字符串
  29.   (princ)
  30. )
局部修改了下。。
你需要把你要去掉的括号数据拿出来看看。。有样板才能有针对性。

 楼主| 发表于 2013-9-13 17:51:25 | 显示全部楼层
edata 发表于 2013-9-13 17:34
局部修改了下。。
你需要把你要去掉的括号数据拿出来看看。。有样板才能有针对性。

edata大神,很不好意思再次打扰您,我想批量去括号,想实现的功能已经截图了,谢谢大神!

本帖子中包含更多资源

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

x
发表于 2013-9-13 18:39:49 | 显示全部楼层
狼魔 发表于 2013-9-13 17:51
edata大神,很不好意思再次打扰您,我想批量去括号,想实现的功能已经截图了,谢谢大神!
  1. (defun c:tt(/ i ss source_text res_txt)
  2.   (vl-load-com)
  3.   (prompt "\n选择文字")
  4. (if (setq ss (ssget  '((0 . "*TEXT"))))
  5.   (progn
  6.     (setq i 0)
  7.     (repeat (sslength ss)
  8.               (setq en1 (ssname ss i)
  9.                     ob (vlax-ename->vla-object en1)
  10.               )
  11.       (setq source_text(vla-get-TextString ob))
  12.       (setq res_txt (sk_txt# source_text))
  13.               (vla-put-TextString ob res_txt)
  14.               (setq i (1+ i))
  15.             )
  16.     ))
  17.   (princ)
  18.   )
  19. ;;去掉字符串中的圆括号、方括号函数
  20. ;;edit by edata 2013年9月13日0:44:22
  21. ;; (sk_txt# str)
  22. ;;返回没有圆括号、方括号的字符串
  23. (defun sk_txt# (str / i stri tmp)
  24.   (if str
  25.     (progn
  26.       (setq i  1
  27.       tmp  ""
  28.       lst  '()
  29.       )
  30.       (while (/= (setq stri (substr str i 1)) "")
  31.   (setq stri (substr str i 1))
  32.   (if (or (= stri "(") (= stri ")") (= stri "[") (= stri "]"))
  33.     (princ)
  34.     (setq tmp (strcat tmp stri))
  35.   )
  36.   (setq i (1+ i))
  37.       )
  38.       (setq lst (reverse (cons tmp lst)))

  39.      (car lst)
  40.     )
  41.   )
  42. )


 楼主| 发表于 2013-9-13 20:22:29 | 显示全部楼层
edata 发表于 2013-9-13 18:39

edata大神,谢谢您,这次试验就是我想要的效果,谢谢大神!谢谢!
发表于 2013-9-21 13:52:20 | 显示全部楼层
学习了,谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 16:49 , Processed in 0.164950 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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