在常见的Lisp方言中,可以通过以下方式列出没有#\的字符串:
remove-if
函数结合char= #\#
来过滤掉含有字符#的字符串。例如,在Common Lisp中可以这样写:(remove-if (lambda (c) (char= c #\#)) '("string1" "string2" "str#ing3"))
这将返回一个列表,其中只包含没有#字符的字符串。
loop
宏和collect
子句来收集没有#字符的字符串。例如,在Clojure中可以这样写:(loop [strings '("string1" "string2" "str#ing3")
result []]
(if (empty? strings)
result
(recur (rest strings)
(if (not (some #(= % \#) (first strings)))
(conj result (first strings))
result))))
这将返回一个向量,其中只包含没有#字符的字符串。
无论使用哪种方法,都可以得到一个不包含#字符的字符串列表或向量。这在处理字符串时非常有用,特别是当需要过滤掉特定字符时。
领取专属 10元无门槛券
手把手带您无忧上云