drafter007 发表于 2022-7-6 07:43:24

字符串检查-在列表中

如何检查列表中的一个元素是否为字符串?

MSasu 发表于 2022-7-6 08:02:21

基本答案是检查类型函数:
(equal (type "abc") 'STR)
但可能有助于提供您的问题的更多细节;您想从某个位置验证元素,或者如果列表包含(至少)一个字符串,或者其他场景?

Lee Mac 发表于 2022-7-6 08:15:04

使用vl-some:
(vl-some '(lambda ( x ) (= 'str (type x))) <your list>)
 
另一个递归:
(defun _stringinlist ( l )
   (and l (or (= 'str (type (car l))) (_stringinlist (cdr l))))
)

drafter007 发表于 2022-7-6 08:41:57

我只是想从列表中删除字符串。。。谢谢

MSasu 发表于 2022-7-6 08:47:10

然后:
(vl-remove-if '(lambda(x) (equal (type x) 'STR)) listToProcess)
页: [1]
查看完整版本: 字符串检查-在列表中