乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 24|回复: 8

[编程交流] Lisp用于查找和替换单词t

[复制链接]

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 18:06:51 | 显示全部楼层 |阅读模式
你好
 
我在寻找一个在任何地方都找不到的Lisp程序。
 
1-我将选择的第一个文本,它将找到文本“XX”,并自动替换为数字“01”
 
2-我将选择第二个文本,它将找到文本“XX”,并自动替换为数字“02”
 
3-继续步骤1和2(编号“03”、“04”、“05”…)直到我停止Lisp程序
 
4-打开LISP时,我不必选择要替换的文本(始终是单词“XX”),也不必选择第一个数字(始终是数字“01”)
 
我希望你能理解我(我是法裔加拿大人)
谢谢!!!
回复

使用道具 举报

22

主题

326

帖子

185

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
243
发表于 2022-7-5 18:15:11 | 显示全部楼层
我在考虑express工具中的Tcount命令^
回复

使用道具 举报

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 18:21:54 | 显示全部楼层
你好
 
感谢您的快速回复!
 
Tcount命令不会一次选择一个块,每次都必须配置设置。使用Tcount命令将每个设备编号更改为手动编号会更快。
回复

使用道具 举报

8

主题

1647

帖子

1647

银币

初来乍到

Rank: 1

铜币
36
发表于 2022-7-5 18:33:41 | 显示全部楼层
Soan,这是我第二次不得不把你的问题转移到Autolisp部分。请在此处发布您的lisp问题:http://www.cadtutor.net/forum/forumdisplay.php?21-AutoLISP Visual LISP amp DCL
回复

使用道具 举报

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 18:38:47 | 显示全部楼层
对不起,我在同一天发布了两个问题,这是我第一次在这个网站上。。。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 18:47:43 | 显示全部楼层
这是一个简单的任务,但我现在没有时间拿起文本检查,如果“XX”存在使用wcmatch然后读取字符串到XX添加数字。
 
找到一些时间。
 
  1. ; replace XX with a number
  2. ; By Alan H jan 2016
  3. (defun c:add01 ( / obj ans x newstr)
  4. (setq x (getint "\nEnter start number press <Cr> to exit "))
  5. (while (/= (setq obj (vlax-ename->vla-object(car (entsel "\nPick text")))) nil) ; no errork check for text
  6. ; if less than 10 01-09 10+
  7. (if (< x 10.0)
  8.    (setq newstr (strcat "0" (rtos x 2 0)))
  9.    (setq newstr (rtos x 2 0))
  10. )
  11. (setq txtstr (vla-get-textstring obj)) ;return string val
  12. (if (> (setq pos (vl-string-search "XX" (strcase txtstr))) 1) ; return the position of XX
  13. (progn
  14. (setq num (strlen txtstr)) ; how many caharcters is string re abcdexxhjkl problem
  15. (setq ans (Strcat (substr txtstr 1 pos) newstr)) ; combine characters up to xx+01
  16. )
  17. )
  18. (vla-put-textstring obj ans) ; update text
  19. (setq x (+ x 1)) ; next number
  20. )
  21. (princ)
  22. )
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 18:53:34 | 显示全部楼层
代码现在更新了,唯一的问题是如果你有abcdXX-52-b它会做abcd08等需要一个版本2,检查行尾字符,Soan如果需要有一个去代码就在那里。
回复

使用道具 举报

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 19:04:49 | 显示全部楼层
非常感谢您的回复,为了回答您的问题,我需要版本2。非常感谢您的帮助
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 19:10:29 | 显示全部楼层
我们在这里帮助(strlen“abcdxx1234”)返回10,(substr txtstr 7 10)=“1234”
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-12 20:03 , Processed in 1.034248 second(s), 81 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表