针对你所讲的这种情况和规律。
- (setq lst '("DIE_1_PW" "DIE_2_PW" "DIE_PW" "PH_1_PW" "PH_PW" "PS_1_PW" "PS_2_PW" "PS_PW"))
- (setq lst0 (mapcar '(lambda (x)
- (if (not (wcmatch x "*_[0-9]_*"))
- (progn
- (setq p (vl-string-position (ascii "_") x))
- (strcat (substr x 1 p) "_0_" (substr x (+ 2 p)))
- )
- x
- ))
- lst
- ))
- (mapcar '(lambda (x) (nth x lst)) (vl-sort-i lst0 '<))
|