wangph 发表于 2008-10-26 18:02:00

StrParse函数不支持汉字目录

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

唐树贺 发表于 2018-6-10 21:15:08

(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]
查看完整版本: StrParse函数不支持汉字目录