StrParse函数不支持汉字目录
<p>(defun StrParse (Str Delimiter / SearchStr StringLen return n char)<br/> (setq SearchStr Str)<br/> (setq StringLen (strlen SearchStr))<br/> (setq return '())<br/> (while (> StringLen 0)<br/> (setq n 1)<br/> (setq char (substr SearchStr 1 1))<br/> (while (and (/= char Delimiter) (/= char ""))<br/> (setq n (1+ n))<br/> (setq char (substr SearchStr n 1))<br/> ) ;_ end of while<br/> (setq return (cons (substr SearchStr 1 (1- n)) return))<br/> (setq SearchStr (substr SearchStr (1+ n) StringLen))<br/> (setq StringLen (strlen SearchStr))<br/> ) ;_ end of while<br/> (reverse return)<br/> )</p><p>经测试StrParse函数不支持带有汉字的目录,如何判断字串中有汉字呢?</p> (defun strparse (Str / SearchStr StringLen return n lenstr)(setq SearchStr Str)
(setq StringLen (strlen SearchStr))
(setq return '())
(setq lenstr 0)
(while (and (> StringLen 0) (/= lenstr stringlen))
(setq n 1)
(setq lenstr (strlen searchstr))
(while (and (/= (substr SearchStr n 1) ",") (< n stringlen))
(setq n (1+ n))
)
(if (< n stringlen)
(progn
(setq return (cons (substr searchstr 1 (1- n)) return))
(setq SearchStr (substr SearchStr (1+ n) StringLen))
(setq StringLen (strlen SearchStr))
))
) ;_ end of while
(if (equal searchstr ",") (setq return (cons "" return)) (setq return (cons (substr searchstr 1) return)))
(reverse return)
)
页:
[1]