乐筑天下

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

[编程交流] 删除括号外的文本

[复制链接]

55

主题

325

帖子

274

银币

后起之秀

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

铜币
280
发表于 2022-7-5 23:57:15 | 显示全部楼层 |阅读模式
我想删除对象文本中位于一组括号或方括号之外的所有内容。我想知道最好的方法是什么。我考虑过使用vl字符串位置来查找括号/方括号的位置,然后以某种方式使用vl字符串左/右修剪。对于更有经验的人会如何应对这一问题,有什么建议吗?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 00:06:26 | 显示全部楼层
由于LISP是为列表构建的,因此我会处理ASCII代码列表,例如:
  1. (defun trimtobrackets ( s )
  2.    (if (wcmatch s "*(*)*")
  3.        (vl-list->string (reverse (member 41 (reverse (member 40 (vl-string->list s))))))
  4.    )
  5. )
  1. _$ (trimtobrackets "outside (inside) outside")
  2. "(inside)"
回复

使用道具 举报

55

主题

325

帖子

274

银币

后起之秀

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

铜币
280
发表于 2022-7-6 00:08:30 | 显示全部楼层
我还没有在任何代码中使用wcmatch。谢谢你的建议。我今天将对此进行调查。
 
我注意到在这个论坛上有几次使用反向。反转列表有什么好处?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 00:11:31 | 显示全部楼层
 
使用成员时,为了获得列表的正确部分,需要反转列表
回复

使用道具 举报

55

主题

325

帖子

274

银币

后起之秀

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

铜币
280
发表于 2022-7-6 00:18:40 | 显示全部楼层
明白了!非常感谢。我不知道你必须从一开始就开始工作。我认为你可以从头开始向后或从头开始向前。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 00:24:07 | 显示全部楼层
另一个
 
  1. (setq st "Abc (IN) 123 ")
  2. (if (and (setq a (vl-string-search "(" st)) (setq b (vl-string-search ")" st))
  3.         )
  4. (substr st (1+ a) (- (+ 2 b) (1+ a)))
  5. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 00:28:08 | 显示全部楼层
请注意:
相当于:
然而,我倾向于在vl字符串搜索上使用vl字符串位置:
为了解释这些情况:
  1. _$ (trimtobrackets "abc(123(def)456)ghi")
  2. "(123(def)456)"
回复

使用道具 举报

55

主题

325

帖子

274

银币

后起之秀

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

铜币
280
发表于 2022-7-6 00:32:17 | 显示全部楼层
李-为什么我需要使用wcmatch函数?如果我知道我在文本中寻找什么,它应该能够在没有这个权利的情况下提取信息?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 00:35:50 | 显示全部楼层
 
对的
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 00:39:05 | 显示全部楼层
 
为了确保提供的字符串包含要修剪到的括号字符,否则您将收到意外的结果或错误,具体取决于用于修剪字符的方法。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 22:35 , Processed in 0.754564 second(s), 72 queries .

© 2020-2025 乐筑天下

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