xujinhua 发表于 2013-6-26 16:17:24

将表内字符串,按逗号作分隔再分成成表

有以下这么一个列表
((("01-Z0017") ("01-Z0017,蔡惠宣、吴信雄,四,东风村上冲西约26巷22号,穗海新字第005476号,框架,3.5,98,343,1997-8-6")) (("01-Z0018") ("01-Z0018,黄宗宏,四,东风乡上冲西约村25号17号,穗海新字第505923号,框架,3.5,97.5,341,1995-7-10")) (("01-Z0019") ("01-Z0019,何志伟,四,东风村上冲西约25巷20号,穗海新字第005551号,框架,4.5,96,432,1996-6-10")))

效果表如下:
((("01-Z0017")(01-Z0017)(蔡惠宣)(吴信雄)(四)(东风村上冲西约26巷22号)(穗海新字第005476号)(框架)(3.5)(98)(343)(1997-8-6)) (("01-Z0018") (01-Z0018)(黄宗宏)(四)(东风乡上冲西约村25号17号)(穗海新字第505923号)(框架)(3.5)(97.5)(341)(1995-7-10)) (("01-Z0019") (01-Z0019)(何志伟)(四)(东风村上冲西约25巷20号)(穗海新字第005551号)(框架)(4.5)(96)(432)(1996-6-1)))


谢谢各位了,因为要填到图上,


xujinhua 发表于 2013-6-26 16:36:34

"01-Z0017,蔡惠宣、吴信雄,四,东风村上冲西约26巷22号,穗海新字第005476号,框架,3.5,98,343,1997-8-6"
要不就怎样将这类字串按逗号分开转换成表
((01-Z0017)(蔡惠宣、吴信雄,四)(东风村上冲西约26巷22号)(穗海新字第005476号)(框架)(3.5)(98)(343)(1997-8-6))
字串的字数基本上都不同的

阿然 发表于 2013-6-26 17:22:26

(setq aa
       '((("01-Z0017")
          ("01-Z0017,蔡惠宣、吴信雄,四,东风村上冲西约26巷22号,穗海新字第005476号,框架,3.5,98,343,1997-8-6"
          )
       )
       (("01-Z0018")
          ("01-Z0018,黄宗宏,四,东风乡上冲西约村25号17号,穗海新字第505923号,框架,3.5,97.5,341,1995-7-10"
          )
       )
       (("01-Z0019")
          ("01-Z0019,何志伟,四,东风村上冲西约25巷20号,穗海新字第005551号,框架,4.5,96,432,1996-6-10"
          )
       )
        )
)
(defun LM:str->lst (str del / pos)
(if (setq pos (vl-string-search del str))
    (cons (substr str 1 pos)
          (lm:str->lst (substr str (+ pos 1 (strlen del))) del)
    )
    (list str)
)
)
(mapcar
'(lambda (x)
   (append (list (car x))
             (mapcar '(lambda (y) (list y)) (LM:str->lst (caadr x) ","))
   )
   )
aa
)

xujinhua 发表于 2013-6-26 17:40:23

哇。。。太谢谢你了.........................!!!!!无限感激
页: [1]
查看完整版本: 将表内字符串,按逗号作分隔再分成成表