Skip to main content



Hàm Lisp ngắt chia chuỗi

Hàm SPLIT : Ngắt chia chuỗi - Cấu trúc : (split strg find) - strg : chuỗi cần ngắt, find : kí hiệu ngắt. Hàm UBOUND : Trả về số lượng phần tử - Cấu trúc : (ubound lisd) - lisd : danh sách

Ví dụ : (split "1.23 ; 2.34 ; 3.02" ";") trả về ("1.23" "2.34" "3.02"); (ubound (list "1.23 ; 2.34 ; 3.02"))  trả về 1; (ubound (list "1.23" "2.34" "3.02")) trả về 3


Định nghĩa hàm :

(defun Split(strg find) (vl-load-com)

(setq len (strlen find) lis nil) (while (setq num (vl-string-search find strg))

(setq lis (append lis (list(substr strg 1 num))) strg (substr strg (+ num len 1))

num (vl-string-search find strg))) (append lis (list strg)))

(defun Ubound(lisd) (setq i 0) (while (nth i lisd) (setq i(1+ i))) i)


Một số hàm kết hợp khi dùng : atoi, atof, nth