找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 819|回复: 2

[LISP函数]:老手们请进,关于文件读取的问题

[复制链接]
发表于 2006-4-4 21:14:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
最近学习cad学到文件部分了,可很多东西太陌生了,找了资料也不怎么详细,想在此请教大家几个问题
cad读取文件的时候似乎只有read-line一个模式是吧,这样我怎么把得到的数据分离出来呢
比如我的文件是xxxx,xxxx,xxxxxx,xxxx,xxx这样的格式
或者是以空格来做分隔的形式,我只想到可以用substr来逐个取出来,可如果每列的字符数目不等就没办法解决了.我在想是不是lisp里有什么函数是用于区分分隔符的啊,希望高手能指点一下


比如我的文本格式如下
e023,1465,1345,23.5
e024,1234,1234,23.56
e025,1234.5,1234,23
........

对于这样的文本数据大家能给点处理意见吗,谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 8157个

财富等级: 富甲天下

发表于 2006-4-4 21:25:34 | 显示全部楼层
http://discussion.autodesk.com/thread.jspa?messageID=1155280

Reply From: Oquendo, Frank
Date: Feb/02/00 - 14:52 (GMT)

Re:
I'm sorry Valdimir, I acidentally replied to you instead of the group. Your
observations are of course correct, so here is a parsing routine that
performs as you've specified:

;;; Returns a list containing all tokens in a delimited string
;;; Use: (parse "one,two,three" ",")
(defun parse (str delim / lst pos token)
(setq pos (vl-string-search delim str))
(while pos
(setq lst (cons (if (= (setq token (substr str 1 pos)) delim)
nil
token
)
lst
)
str (substr str (+ (strlen delim) pos 1))
pos (vl-string-search delim str)
)
)
(if (> (strlen str) 0)
(setq lst (cons str lst))
)
(reverse lst)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-4 21:33:11 | 显示全部楼层
谢谢地下铁,不过前面一大段英文害我初看还以为你是老外呢,呵呵,不知道对于空格的分隔会不会产生问题呢,我回去试试
再次感谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-29 05:32 , Processed in 0.180785 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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