如何检查Emacs Lisp中的字符串是否为空?

我想编写一个if语句,它将基于字符串是否为空做一些事情。例如:

(defun prepend-dot-if-not-empty (user-str)
   (interactive "s")
   (if (is-empty user-str)
     (setq user-str (concat "." user-str)))
   (message user-str))

在这个例子中,我使用(is-empty)代替真正的elisp方法。这样做的正确方法是什么?

谢谢

由于在elisp中,一个String是一个int数组,可以使用

(= (length user-str) 0)

您还可以使用通常更容易阅读的(string =)

(string= "" user-str)

同样的工作,但有点慢:

(equal "" user-str)
http://stackoverflow.com/questions/1019778/how-to-check-if-a-string-is-empty-in-emacs-lisp

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:如何检查Emacs Lisp中的字符串是否为空?