明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1202|回复: 7

求助:如何获取全部字符串

[复制链接]
发表于 2009-4-23 21:07:00 | 显示全部楼层 |阅读模式

(setq m "a b c");;返回"a b c"

(read m) ;;返回 a

如何才能获取 a b c

发表于 2009-4-23 23:14:00 | 显示全部楼层
好像强求那个空格没有实际含义吧,read是不能有空格的,而且原子是连串字符,lisp语法里面空格是有用的,不能作为单独的原子或字符存在,和"/"是一个含义。你定义的“A B C”包含了保留和不合法字符“空格”。应注意变量、常量、字符串中应避免出现:“. '";()空格~*=><+-/?!\^”等,我是初学者,说的不知道对不对,请指正。
发表于 2009-4-23 23:29:00 | 显示全部楼层
命令: (read "(a b c)")
(A B C)
发表于 2009-4-23 23:44:00 | 显示全部楼层

他要的是原子A B C,不是表(A B C)

发表于 2009-4-24 08:51:00 | 显示全部楼层

(substr m 1)可以得到"a b c"

不知道能不能满足你的要求

发表于 2009-4-24 13:27:00 | 显示全部楼层
quanlinka发表于2009-4-23 21:07:00(setq m \"a b c\");;返回\"a b c\"(read m) ;;返回 a如何才能获取 a b c

你要的a b c不是字串了,是符号

而且是三个符号,不可能同时返回多个数据

返回表后可以用nth来获取指定索引号的数据

发表于 2009-4-24 13:55:00 | 显示全部楼层
命令: (mapcar 'vl-prin1-to-string (read "(a b c)"))
("A" "B" "C")
 楼主| 发表于 2009-4-28 22:04:00 | 显示全部楼层

谢谢大家,我找到答案了:

用substring可以截取字符串,

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

本版积分规则

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

GMT+8, 2024-9-23 04:32 , Processed in 0.279090 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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