img
Việt Lisp Functions

vlp-string-replace

đăng 21:25, 10 thg 10, 2011 bởi Lisp Việt   [ đã cập nhật 21:25, 10 thg 10, 2011 ]

 

(defun vlp-string-replace (str oitem nitem / i lst temp nstr len nl ol)
  (if (and str (/= oitem nitem))
        (progn
          (setq i 1)
          (while (<= i (strlen str))
                     (setq temp (substr str i (strlen oitem)))
                     (if (= temp oitem)
                           (progn
                                 (setq str (strcat (substr str 1 (- i 1))
                                     nitem
                                     (substr str (+ i (strlen oitem)))
                            )
                         )
                     (setq i (+ i (strlen nitem)))
                   )
           (setq i (1+ i))
         )
      )
    )
  )
  str
)
 

 

vlp-string->kens

đăng 21:20, 10 thg 10, 2011 bởi Lisp Việt   [ đã cập nhật 21:21, 10 thg 10, 2011 ]

 

 
(defun vlp-string->kens (str char / pos kens)
  (if (and str char)
    (progn
      (setq kens (append))
      (while (setq pos (vl-string-search char str))
             (setq kens (append kens (list (substr str 1 pos))))
             (setq str (substr str (+ pos 2)))
      )
      (vl-remove "" (append kens (list str)))
    )
  )
)
 

 

vlp-string-nth

đăng 21:18, 10 thg 10, 2011 bởi Lisp Việt   [ đã cập nhật 21:18, 10 thg 10, 2011 ]

 

(defun vlp-string-nth (str i)
    (nth (- i 1) (vlp-string->kens str " "))
)

 
Xem: vlp-string->kens

 

vlp-string-reverse

đăng 21:04, 10 thg 10, 2011 bởi Lisp Việt   [ đã cập nhật 21:08, 10 thg 10, 2011 ]

 

(defun vlp-string-reverse (str /)
  (if str
    (vl-list->string (reverse (vl-string->list str)))
  )
)