本帖最后由 vectra 于 2017-9-22 15:29 编辑
17年以来的新贴都不见了,有留档的我再发下恢复一下。原贴发表于 2017-1-2 19:48
已知问题:
1、不能处理多音字
 - (defun pingyin (str / asc lst rt)
- (setq lst (vl-string->list str))
- (while lst
- (setq asc (+ (* (car lst) 256) (cadr lst) -65536)
- lst (cddr lst)
- )
- (setq rt (cons
- (cond
- ((<= -20319 asc -20284) "A")
- ((<= -20283 asc -19776) "B")
- ((<= -19775 asc -19219) "C")
- ((<= -19218 asc -18711) "D")
- ((<= -18710 asc -18527) "E")
- ((<= -18526 asc -18240) "F")
- ((<= -18239 asc -17923) "G")
- ((<= -17922 asc -17418) "H")
- ((<= -17922 asc -17418) "I")
- ((<= -17417 asc -16475) "J")
- ((<= -16474 asc -16213) "K")
- ((<= -16212 asc -15641) "L")
- ((<= -15640 asc -15166) "M")
- ((<= -15165 asc -14923) "N")
- ((<= -14922 asc -14915) "O")
- ((<= -14914 asc -14631) "P")
- ((<= -14630 asc -14150) "Q")
- ((<= -14149 asc -14091) "R")
- ((<= -14090 asc -13319) "S")
- ((<= -13318 asc -12839) "T")
- ((<= -12838 asc -12557) "W")
- ((<= -12556 asc -11848) "X")
- ((<= -11847 asc -11056) "Y")
- ((<= -11055 asc -10247) "Z")
- (t nil)
- )
- rt
- )
- )
- )
- (reverse rt)
- )
演示:
_$ (pingyin "二次开发")
("E" "C" "K" "F")
|