明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1597|回复: 3

[求助]怎么提取单行文字里空格隔开的文字?

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

怎么提取单行文字里空格隔开的文字?

如: 1234 56789 abcd dfgh

要提取1234为S1   56789为S2  abcd为S3  dfgh为S4

发表于 2009-5-4 23:27:00 | 显示全部楼层

期待高手解答,我记得有个方法能直接把一行字符转换成表的?转换成表以后就可以方便的读取表里的元素了.

发表于 2009-5-4 23:35:00 | 显示全部楼层

我找到方法了.(read (strcat "(" "1234 56789 abcd dfgh" ")"))这条语句之后就组成一个表了.之后可以利用car和cdr或者组合来读取表内元素了.

发表于 2009-5-5 13:13:00 | 显示全部楼层
楼上的方法在大部分情况下有效,下面的就不行了
(read (strcat "(" "Hello 2 World\t12 \" 5456.168" ")"))
  1. ;;____________________________________________________________________________________________________
  2. ;; ▓ (lt:str->list str)
  3. ;; [功能] 将字符串转换为字符串列表
  4. ;; [测试] (lt:str->list "Hello 2 World\t12 " 5456.168") -> ("Hello" "2" "World" "12" """ "5456.168")
  5. (defun lt:str->list (str)
  6.   (setq str (mapcar '(lambda (x) (if (member x '(9 10 32)) ")(" (strcat (itoa x) " ")))
  7.                     (vl-string->list str)
  8.             )
  9.   )
  10.   (mapcar 'vl-list->string (read (strcat "((" (apply 'strcat str) "))")))
  11. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-28 18:22 , Processed in 0.168362 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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