Skip to main content



Hàm Lisp ngắt chia chuỗi và trả về số lượng phần tử trong danh sách

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 UBOUN : Trả về số lượng phần tử - Cấu trúc : (uboun lisd)
lisd : danh sách



Ví dụ :

(split "1.23 ; 2.34 ; 3.02" ";") trả về ("1.23" "2.34" "3.02")
(uboun (list "1.23 ; 2.34 ; 3.02"))  trả về 1
(uboun (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 Uboun(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