乐筑天下

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

[编程交流] 过滤/分离字母/nu

[复制链接]

57

主题

243

帖子

190

银币

后起之秀

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

铜币
285
发表于 2022-7-6 06:28:13 | 显示全部楼层 |阅读模式
有人知道并能指出一些例程,允许在文本选择中过滤/分离字母/数字吗?
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 06:36:15 | 显示全部楼层
你到底想做什么?请提供一个例子。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 06:42:38 | 显示全部楼层
这是我的功能:
  1. [color=GREEN];; Split String  -  Lee Mac[/color]
  2. [color=GREEN];; Splits a string into a list of text and numbers[/color]
  3. ([color=BLUE]defun[/color] LM:splitstring ( str )
  4.    (
  5.        ([color=BLUE]lambda[/color] ( l )
  6.            ([color=BLUE]read[/color]
  7.                ([color=BLUE]strcat[/color] [color=MAROON]"("[/color]
  8.                    ([color=BLUE]vl-list->string[/color]
  9.                        ([color=BLUE]apply[/color] '[color=BLUE]append[/color]
  10.                            ([color=BLUE]mapcar[/color]
  11.                                ([color=BLUE]function[/color]
  12.                                    ([color=BLUE]lambda[/color] ( a b c )
  13.                                        ([color=BLUE]cond[/color]
  14.                                            (   ([color=BLUE]=[/color] 92 b)
  15.                                                ([color=BLUE]list[/color] 32 34 92 b 34 32)
  16.                                            )
  17.                                            (   ([color=BLUE]or[/color] ([color=BLUE]<[/color] 47 b 58)
  18.                                                    ([color=BLUE]and[/color] ([color=BLUE]=[/color] 45 b) ([color=BLUE]<[/color] 47 c 58) ([color=BLUE]not[/color] ([color=BLUE]<[/color] 47 a 58)))
  19.                                                    ([color=BLUE]and[/color] ([color=BLUE]=[/color] 46 b) ([color=BLUE]<[/color] 47 a 58) ([color=BLUE]<[/color] 47 c 58))
  20.                                                )
  21.                                                ([color=BLUE]list[/color] b)
  22.                                            )
  23.                                            (   ([color=BLUE]list[/color] 32 34 b 34 32))
  24.                                        )
  25.                                    )
  26.                                )
  27.                                ([color=BLUE]cons[/color] [color=BLUE]nil[/color] l) l ([color=BLUE]append[/color] ([color=BLUE]cdr[/color] l) '(( )))
  28.                            )
  29.                        )
  30.                    )
  31.                    [color=MAROON]")"[/color]
  32.                )
  33.            )
  34.        )
  35.        ([color=BLUE]vl-string->list[/color] str)
  36.    )
  37. )

 
 
 
 
李,
我感谢大家的关注。
我一直在查。根据我的理解和测试,例程可以在不同的步骤中检查和过滤整数和实数。然而,我打算扫描同时隔离所有字母数,反之亦然。
过滤结果在选择中可用以分配特定层也是至关重要的。
回复

使用道具 举报

57

主题

243

帖子

190

银币

后起之秀

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

铜币
285
发表于 2022-7-6 06:43:28 | 显示全部楼层
 
我不明白teknomatika,你的目标是什么?
072813nbvpmmmkmvv8fhge.jpg
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 06:51:53 | 显示全部楼层
 
pBe,
这是lee mac引用的代码的一部分。
正如我所解释的,从我可以尝试的情况来看,它可以在不同的步骤、整数和实数进行过滤,但只在提示中显示结果。
我希望过滤同时可用,这是选择的结果,允许操作/编辑,例如指定特定层。
总之,拟议目标是分离/隔离字母/数字(实数或整数)
回复

使用道具 举报

57

主题

243

帖子

190

银币

后起之秀

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

铜币
285
发表于 2022-7-6 06:55:36 | 显示全部楼层
 
我提供的链接不是一个现成的解决方案,您可以复制/粘贴您的任务;我只是给你指出了正确的方向,并提供了一些工具来帮助你编写自己的程序。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 07:02:06 | 显示全部楼层
 
是的,当然。
回复

使用道具 举报

57

主题

243

帖子

190

银币

后起之秀

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

铜币
285
发表于 2022-7-6 07:05:19 | 显示全部楼层
现在这个解决方案对我有帮助。
这并不完全是您想要的解决方案,因为过滤器必须包括所有实体文本,即使具有不同的属性(样式、图层、颜色、高度等)。
 
 
  1. _$ (LM:splitstring "ab12c-3.1de4.2f56")
  2. ("a" "b" 12 "c" -3.1 "d" "e" 4.2 "f" 56)
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:08:13 | 显示全部楼层
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. (defun kg:SsgetFilterReal ()
  3. '(
  4.    (1 . "~*[~-.0-9]*") ; only minus signs, decimal points and numbers allowed
  5.    (1 . "*`.*")        ; there must be one decimal point
  6.    (1 . "~*`.*`.*")    ; only one decimal point allowed
  7.    (-4 . "<OR")
  8.      (1 . "~*-*")      ; there is no minus sign
  9.      (-4 . "<AND")
  10.        (1 . "-*")      ; the minus sign must be the first character
  11.        (1 . "~*-*-*")  ; only one minus sign allowed
  12.      (-4 . "AND>")
  13.    (-4 . "OR>")
  14. )
  15. )
  16. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  17. (defun c:Comp (/ ent ss i lst)
  18. (if
  19.    (and
  20.      (setq ent (entsel "\nPlease select a text for style, layer and text height filtering: "))
  21.      (setq ent (entget (car ent)))
  22.      (or
  23.        (equal '(0 . "TEXT") (assoc 0 ent))
  24.        (prompt "\nNot a text ")
  25.      )
  26.      (or
  27.        (setq ss
  28.          (ssget
  29.            "_X"
  30.            (vl-list*
  31.              '(0 . "TEXT")
  32.              (assoc 7 ent)        ; style of digit text
  33.              (assoc 8 ent)        ; selected layer name
  34.              (assoc 40 ent)       ; selected text height
  35.              (assoc 410 ent)      ; current tab only
  36.              ;; numerical text filtering:
  37.                   (kg:SsgetFilterReal)
  38.            )
  39.          )
  40.        )
  41.        (prompt "\nNo selection ")
  42.      )
  43.    )
  44.    (mapcar
  45.      '(lambda (a) (cdr (assoc 1 (entget a))))
  46.      (repeat (setq i (sslength ss))
  47.        (setq lst (cons (ssname ss (setq i (1- i))) lst))
  48.      )
  49.    )
  50. )
  51. )
  52. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 
通过对DXF 1使用更少的滤波器可以轻松实现这一点[me/less-codes]。但话说回来,我不确定,除非我们看到“其他”条件是什么。
 
我只是说
回复

使用道具 举报

57

主题

243

帖子

190

银币

后起之秀

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

铜币
285
发表于 2022-7-6 07:13:20 | 显示全部楼层
pBe,
谢谢你的关注。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 15:58 , Processed in 0.471725 second(s), 85 queries .

© 2020-2025 乐筑天下

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