2015-06-20 110 views
0

如何從其他列表中檢索包含特定單詞的項目(字符串)列表。下面是一個例子:。lisp中的搜索功能

(setq l '("word1_jj" "word2_mm" "word3_jj" "word4_kk")) 

我想提取所有字符串,其中數字「_jj

+0

一種可能的方式是使用其中一個謂語一個子串匹配過濾器。 – h7r

回答

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") 
+0

非常感謝! =)真的很感激它 –