在常见的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))))
这将返回一个向量,其中只包含没有#字符的字符串。
无论使用哪种方法,都可以得到一个不包含#字符的字符串列表或向量。这在处理字符串时非常有用,特别是当需要过滤掉特定字符时。
极客说第三期
云+社区沙龙online第5期[架构演进]
技术创作101训练营
“中小企业”在线学堂
高校公开课
云+社区技术沙龙[第10期]
高校公开课
领取专属 10元无门槛券
手把手带您无忧上云