明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3176|回复: 8

[讨论] 关于特殊符号的查找

[复制链接]
发表于 2014-12-3 09:53:41 | 显示全部楼层 |阅读模式
引号 "   在程序中是用来表示字符串的特征

例如cad中如下文字:
3" SCH80 PIPE SMLS ,BE ,ASTM A106 Gr.B
如果要查找"  该如何做呢?
(setq ss (ssget '((1 . "#\"*") )))   这个语句可以在cad中找到这串文字

但是有些命令

(substr "\""  "3" SCH80 PIPE SMLS ,BE ,ASTM A106 Gr.B" )   这个语句因为" 不成对,总是提示错误

还有些命令,像
(vl-string->list  string)
(vl-list->string)
都无法使用


请高手指点,如果才能让" 能够像普通的字符,进行操作,谢谢!


"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2014-12-3 10:07:03 | 显示全部楼层
本帖最后由 自贡黄明儒 于 2014-12-3 10:13 编辑

"SCH80 PIPE SMLS ,BE ,ASTM A106 Gr.B"少引号,substr是什么用法来着?
发表于 2014-12-3 12:43:09 | 显示全部楼层
把“变成\“即可
substr是求子串
 楼主| 发表于 2014-12-3 16:23:21 | 显示全部楼层
3" SCH80 PIPE SMLS ,BE ,ASTM A106 Gr.B
这里3后面的"是 代表英寸的意思

(substr "\"" "3\" SCH80 PIPE SMLS ,BE ,ASTM A106 Gr.B")

(substr "\""   "3" SCH80 PIPE SMLS ,BE ,ASTM A106 Gr.B")

这两个语句都是不对的,无法使用

发表于 2014-12-3 17:23:21 | 显示全部楼层
phoenixdjq 发表于 2014-12-3 16:23
3" SCH80 PIPE SMLS ,BE ,ASTM A106 Gr.B
这里3后面的"是 代表英寸的意思

你到底想干什么呢?subst是替换的意思,substr是取子字符串,你的语法都不对,所以语句不能用。
 楼主| 发表于 2014-12-5 10:22:57 | 显示全部楼层
文字中包含了分号 "  
但是成对的"又是字符串的特征
如果用\" 来代替 "的话,在一个字符串中"的数量是单数,又不满足"的成对出现
这好像是个矛盾

有没有什么好办法能解决这个问题
发表于 2014-12-5 11:24:16 | 显示全部楼层
phoenixdjq 发表于 2014-12-5 10:22
文字中包含了分号 "  
但是成对的"又是字符串的特征
如果用\" 来代替 "的话,在一个字符串中"的数量是单 ...

并不矛盾,在文本中出现的引号加前缀,系统就不会识别成成对的特征字符,与多少无关,有一个算一个。
你的句子不通过不是这个问题,而是函数substr的语法不对,看了你的句子,不知道你要干什么。
 楼主| 发表于 2014-12-5 11:51:51 | 显示全部楼层
本帖最后由 phoenixdjq 于 2014-12-5 11:59 编辑

是我用错了函数,不好意思
我是想找到"在字符串3" SCH80 PIPE SMLS ,BE ,ASTM A106 Gr.B中的位置
3“是3英寸的意思

应该用:
(vl-string-search "\""  "3\" SCH80 PIPE SMLS ,BE ,ASTM A106 Gr.B "))


钻进死胡同,终于出来了,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 06:53 , Processed in 0.176136 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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