如何检索包含其他列表中特定单词的项目列表(字符串)。这是一个例子:
(setq l '("word1_jj" "word2_mm" "word3_jj" "word4_kk"))
我想提取所有字符串“_jj。
答案 0 :(得分:1)
你应该ends-with-p
取词和结尾。要做到这一点,你会发现两个字符串中有多少个字符,并使用subseq
来创建一个由单词的最后一个字母组成的字符串。您可以使用equal
来检查它应该匹配的参数。
如果你有,你可以这样做:
(remove-if-not (lambda (x) (ends-with-p x "_jj"))
'("word1_jj" "word2_mm" "word3_jj" "word4_kk"))
; ==> ("word1_jj" "word3_jj")
或者,您可以制作一个make-end-predicate
,其中会返回lambda
,但需要一个字:
(remove-if-not (make-end-predicate "_jj")
'("word1_jj" "word2_mm" "word3_jj" "word4_kk"))
; ==> ("word1_jj" "word3_jj")