字符串中总是只有A
s 和s 吗?B
如果没有,你可能想做类似的事情
(remove #\A yourstring :test-not 'char=)
根据XLISP 参考remove
,奈奎斯特remove
不处理string
s,只处理list
s。您需要将 a 转换string
为 alist
才能以这种方式对其进行操作,但也没有coerce
。这是一个触摸hacky,但我看到的最简单的方法是流式传输 astring
和read-char
它。这将产生 a list
of char
s,然后您可以使用 s 进行操作remove
。
(defun string->list (a-string)
(let ((collector nil)
(stream (make-string-input-stream a-string)))
(dotimes (c (length a-string) (reverse collector))
(setf collector (cons (read-char stream) collector)))))
现在应该可以
(remove #\A (string->list yourstring) :test-not 'char=)