明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1227|回复: 7

[经验] 关于过滤选择文字的一点巧合

[复制链接]
发表于 2014-10-6 21:26 | 显示全部楼层 |阅读模式
本帖最后由 434939575 于 2014-10-6 21:28 编辑

首先感谢:露水的帖子。继续感谢:ZZXXQQ的指导。
我的目的过滤选择:A001    B002       不选D001   E002  *******
  1. (defun c:tt22()
  2. (setq ss (ssget '((1 . "[A-a-B-b]00#" )    )))  
  3. )
TT22测试结果:A001    B002   C004    D001   E002  *******全部选上了。
  1. (defun c:tt2()
  2. (setq ss (ssget '((1 . "[a-b-A-B]00#" )    )))
  3. )
TT2测试结果:A001    B002 正确选上了。

感觉是小写优先写就好了。这个我弄了好久。大家不要笑。
"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

  • · 学习|主题: 95, 订阅: 7
发表于 2014-10-7 15:11 | 显示全部楼层
感谢楼主分享经验!
发表于 2014-10-8 16:38 | 显示全部楼层
估计是按(ascii "a")大小来的
发表于 2014-10-8 17:31 | 显示全部楼层
这应该是正则相关的知识,不会的童鞋可以补下正则常用符号,这样自己就可以扩充很多和文字过滤有关的代码来...
 楼主| 发表于 2014-10-8 19:47 | 显示全部楼层
感谢大家关注。(ascii "a")。正则常用符号。这些我都不了解
发表于 2014-10-9 09:10 | 显示全部楼层
你这个结果是对的,但表达式还是错的,所以说,结果只是巧合,并不是所说是ascii码的问题。
正确的写法应该是"[AaBb]00#",括号中次序无关。
减号在你的括号中作为连字符用,代表一个范围,这里的范围起始与ascii码有关,范围起始必须从小到大,大写字符ascii码小,所以[A-a-B-b]实际上是[A-b]其中包括所有大写字符和小写字符ab。
(注:这里有三个连字符,分别表达的范围为[A-a]、[a-B]、[B-b],其中第二个连字符无意义,第一个和第三个相互重叠。)
而[a-b-A-B]因为连字符表达的区段约束范围很小,刚好是需要的范围,所以正确是一种“巧合”,用连字符的正确写法应该是[A-Ba-b],如果取ABCabc则为[A-Ca-c](或[a-cA-C]。
附图是R14关于wcmatch函数的帮助,可以看看。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

感谢大师耐心的教导,讲得这么仔细。辛苦了!  发表于 2014-10-9 10:10

评分

参与人数 1明经币 +1 收起 理由
自贡黄明儒 + 1

查看全部评分

发表于 2014-10-9 09:16 来自手机 | 显示全部楼层
ll_j 发表于 2014-10-9 09:10
你这个结果是对的,但表达式还是错的,所以说,结果只是巧合,并不是所说是ascii码的问题。
正确的写法应该 ...


一直这样理解所以没遇到过"巧合”
发表于 2015-5-20 01:07 | 显示全部楼层
文字过滤mark
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-13 23:45 , Processed in 0.170646 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表