将表内字符串,按逗号作分隔再分成成表
有以下这么一个列表((("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)))
谢谢各位了,因为要填到图上,
"01-Z0017,蔡惠宣、吴信雄,四,东风村上冲西约26巷22号,穗海新字第005476号,框架,3.5,98,343,1997-8-6"
要不就怎样将这类字串按逗号分开转换成表
((01-Z0017)(蔡惠宣、吴信雄,四)(东风村上冲西约26巷22号)(穗海新字第005476号)(框架)(3.5)(98)(343)(1997-8-6))
字串的字数基本上都不同的 (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
) 哇。。。太谢谢你了.........................!!!!!无限感激
页:
[1]