乐筑天下

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

[编程交流] Lisp在任意位置插入文本i

[复制链接]

1

主题

1

帖子

0

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:52:35 | 显示全部楼层 |阅读模式
大家好,
 
是否有lisp例程可以用于将文本添加到文本字符串的某个位置,而不仅仅是开始或结束?
 
例如:
 
我有这个。。。12345, 53432, 12094, 30235
想要这个。。。S123.45、S534.32、S120.94和S302.35
 
谢谢
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 20:23:56 | 显示全部楼层
这是使用FIND 12345、S53432、S12094、S30235完成的,但正如您所看到的,开始S缺少一个快速方式,可能需要一个或两个。应该有一个lisp版本来更改字符串。快速看一下李·麦克。com他有一个字符串SUBST lisp,可以做你想要的,只需要添加开始和几个输入和更新。看这篇文章。
 
  1. ; just a start
  2. (defun C:test ( / tobj tstr exstr newstr)
  3. (setq tobj (vlax-ename->vla-object (car(entsel "pick text"))))
  4. (Setq tstr (vla-get-textstring tobj))
  5. (setq exstr (getstring "Enter existing string")) ; need to use " "
  6. (setq newstr (getstring "Enter new string")) ; need to use " "
  7. (while (> (vl-string-search exstr tstr) 0)
  8. (setq tstr (vl-string-subst  newstr exstr tstr) )
  9. )
  10. (vla-put-textstring tobj (strcat newstr tstr ) )
  11. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 13:59 , Processed in 0.564129 second(s), 56 queries .

© 2020-2025 乐筑天下

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