janson78 发表于 2008-8-19 13:46:00

关于表数据的提取

<p>例如有如下的表数据:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((-1 . &lt;图元名: 7ef86ec0&gt;) (0 . "DIMENSION") (330 . &lt;图元名: 7ef96c10&gt;) (5 . <br/>"4918") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "dim") (100 . <br/>"AcDbDimension") (2 . "*D16") (10 3260.53 17853.3 0.0) (11 3337.99 17968.3 0.0) <br/>(12 0.0 0.0 0.0) (70 . 162) (1 . "") (71 . 5) (72 . 1) (41 . 1.0) (42 . <br/>2.51824) (52 . 0.0) (53 . 0.0) (54 . 0.0) (51 . 0.0) (210 0.0 0.0 1.0) (3 . <br/>"standard$2") (100 . "AcDb2LineAngularDimension") (13 2649.29 17356.4 0.0) (14 <br/>3219.29 17926.4 0.0) (15 467.438 768.438 0.0) (16 3320.0 17943.8 0.0) (40 . <br/>0.0) (50 . 0.0))</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们可以看到群码100对应三个数据&nbsp; (100 . "AcDbEntity")&nbsp;&nbsp;&nbsp; (100 ."AcDbDimension")&nbsp; </p><p>&nbsp;&nbsp;&nbsp; (100 . "AcDb2LineAngularDimension") </p><p>请问我如何取得第三个,也就是(100 . "AcDb2LineAngularDimension") 中对应的数据 :"AcDb2LineAngularDimension"<br/></p><p>&nbsp;&nbsp;&nbsp; 使用命令&nbsp; (cdr (assoc 100 data)) 只能获得第一个中的 "AcDbEntity"</p><p>&nbsp;&nbsp;&nbsp; 请问有什么好的办法么?</p>

janson78 发表于 2008-8-19 14:59:00

问题已经解决了

Andyhon 发表于 2008-8-19 14:59:00

Command: (cdr (assoc 100 (reverse data)))<br/>"AcDb2LineAngularDimension"

janson78 发表于 2008-8-19 15:59:00

<p>这个办法更好 </p><p>多谢 多谢</p>

zcsoft 发表于 2008-8-20 12:56:00

那我要取得第二个呢?

caoyin 发表于 2008-8-20 13:44:00

zcsoft发表于2008-8-20 12:56:00static/image/common/back.gif那我要取得第二个呢?

<p>(cdadr (member (assoc 100 data) data))</p>

wuxuloveguo 发表于 2008-8-22 14:48:00

厉害!都是高手啊!
页: [1]
查看完整版本: 关于表数据的提取