乐筑天下

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

[编程交流] 如何在第45位添加到字符串

[复制链接]

12

主题

17

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-5 22:39:02 | 显示全部楼层 |阅读模式
您好,我有一个名为“txt\u result”的字符串,它是从文本文档生成的,我需要在字符串的第45个字符处添加一个“\\P”,以便45之后的所有字符都转到新的多行文字。。。。不太确定我需要寻找什么来做这件事。
 
谢谢
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 22:50:10 | 显示全部楼层
试试这个功能。
 
  1. (defun _add:new:line (str loc / lst)
  2. ;;    Author : Tharwat Al Shoufi    ;;
  3. ;;------------------------------------;;
  4. ;;    Argument :             ;;
  5. ;;     str = string            ;;
  6. ;;    loc = location            ;;
  7. (repeat (/ (strlen str) loc)
  8.    (setq lst (cons (strcat (substr str 1 loc) "\\P") lst)
  9.          str (substr str (1+ loc))
  10.    )
  11. )
  12. (if (and str (/= str ""))
  13.    (setq lst (cons str lst))
  14. )
  15. (apply 'strcat (reverse lst))
  16. )

 
使用上述函数的示例。
 
  1. (_add:new:line "abcdefghijklmnopqrstuvwxyz" 5)

 
返回:
 
  1. "abcde\\Pfghij\\Pklmno\\Ppqrst\\Puvwxy\\Pz"
回复

使用道具 举报

12

主题

17

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-5 22:56:25 | 显示全部楼层
谢谢你的代码,效果很好。然而,我似乎有一个新问题。。。。我的绳子太长了!我用下面的方法来创建多行文字,但它把字符串一分为二!
 
(命令“mtext”pt1 pt2 txt\u result“”)
 
有没有更好的方法制作多行文字对象?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 23:06:22 | 显示全部楼层
使用entmake函数,该函数比一般命令更快、更准确。
 
entmake函数
 
DXF代码
 
希望有帮助
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 23:09:06 | 显示全部楼层
另一个:
  1. (defun addnewline ( str pos )
  2.    (if (< pos (strlen str))
  3.        (strcat (substr str 1 pos) "\\P" (addnewline (substr str (1+ pos)) pos))
  4.        str
  5.    )
  6. )
  1. _$ (addnewline "abcdefghijklmnopqrstuvwxyz" 5)
  2. "abcde\\Pfghij\\Pklmno\\Ppqrst\\Puvwxy\\Pz"
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 23:16:35 | 显示全部楼层
 
这也是Lisp程序很有趣的原因之一
该函数可以应用于函数本身
Thanx公司
 
@塔尔瓦祝你开斋节快乐
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 23:28:01 | 显示全部楼层
 
你真好,韩
这个场合不属于我,但我尊重它。
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 23:35:09 | 显示全部楼层
这种技术被称为递归,并在许多编程语言中得到支持。
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 23:45:25 | 显示全部楼层
nvm先生,高兴编码
 
 
谢谢你的链接,先生
编程很有趣
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 06:30 , Processed in 1.063324 second(s), 70 queries .

© 2020-2025 乐筑天下

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