乐筑天下

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

[编程交流] 仅删除字母字符

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 00:29:20 | 显示全部楼层
 
这当然为OP提供了另一条考虑的途径。
 
尽管如此,我并不完全确定期望的结果,即OP是希望只保留整数,还是同时保留连字符和句点,从而也保留小数。
 
 
不错的一个pBe
 
这里有一个递归替代方案:
  1. (defun numbers ( s / c )
  2.    (cond
  3.        (   (wcmatch s "~*#*") "")
  4.        (   (zerop (setq c (ascii s))) s)
  5.        (   (< 47 c 58) (strcat (chr c) (numbers (substr s 2))))
  6.        (   (numbers (substr s 2)))
  7.    )
  8. )

 
我不明白你为什么在这里用mapcar?
这似乎是多余的,因为您似乎只是为了在代码中使用mapcar来构建一个列表,然后mapcar将返回一个列表而不是字符串。。。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 00:32:53 | 显示全部楼层
 
因为(list)的返回(vl remove if….将是一个列表,我知道它有点长,所以我们可以将其缩短为这个,当然,与前一个一样,没有括号。
 
  1. (vl-list->string
  2. (vl-remove-if
  3.    '(lambda (u)
  4.       (not (member u '(48 49 50 51 52 53 54 55 56 57))
  5.       )
  6.     )
  7.    (vl-string->list "Abcd12345X7789wZ")
  8. )
  9. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 00:37:12 | 显示全部楼层
 
这正是我的观点——代码正在构建一个不必要的列表,然后使用mapcar处理这个单个项目列表——列表和mapcar都是完全冗余的,正如您在下一篇文章中的代码所示。
回复

使用道具 举报

55

主题

325

帖子

274

银币

后起之秀

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

铜币
280
发表于 2022-7-6 00:41:17 | 显示全部楼层
Tharwat用列出的所有ascii码显示的是我开始的路径,但当我到达lambda时,我的大脑无法适应这一天的任何其他内容。我喝了几杯啤酒,失去了一些脑细胞,今天又回来了。希望它能坚持下去。谢谢你的建议!
 
顺便说一句,我希望保留所有数字和一个句号。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 00:43:41 | 显示全部楼层
 
 
只需将数字32相加即可处理周期因子
回复

使用道具 举报

55

主题

325

帖子

274

银币

后起之秀

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

铜币
280
发表于 2022-7-6 00:46:33 | 显示全部楼层
 
ascii码不是46,不是32吗?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 00:50:11 | 显示全部楼层
如果你说的是小数点,那么你是对的,但是如果它是一个自由空间,那么它应该是32。
回复

使用道具 举报

55

主题

325

帖子

274

银币

后起之秀

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

铜币
280
发表于 2022-7-6 00:51:58 | 显示全部楼层
对不起,小数点(句点)是我的意思。感谢您的澄清。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 00:56:55 | 显示全部楼层
 
不客气。
回复

使用道具 举报

55

主题

325

帖子

274

银币

后起之秀

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

铜币
280
发表于 2022-7-6 00:59:40 | 显示全部楼层
lambda需要不止一个参数吗。我一直收到一个错误,说有太少的论点?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 22:15 , Processed in 0.488599 second(s), 70 queries .

© 2020-2025 乐筑天下

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