kelimelerin listesini kaldırmak için nasıl (Clojure içinde) yapmak istiyorsunuz Ne: Örneğindizeleri
, ben kaldırılması gerekir kelimelerin vektör var:
(def forbidden-words [":)" "the" "." "," " " ...many more...])
.. . ve dizeleri bir vektör:
(def strings ["the movie list" "this.is.a.string" "haha :)" ...many more...])
Yani, her yasak kelime her dize kaldırılması gerektiğini ve sonuç, bu durumda, olacaktır: [ "film listesi" "thisisastring" "haha"].
Bu nasıl yapmalı? yerine
(for [s strings]
(-> s ((apply comp
(for [s forbidden-words] #(.replace %1 s ""))))))
daha 'deyimsel' olmak isterseniz, clojure.contrib.string gelen replace-str
kullanabilirsiniz: function kompozisyonunu ve bu güzel ve basit olabilir ->
makro kullanma
Will bu bağlantıyı size yardımcı: http://github.com/richhickey/clojure-contrib/blob/bacf49256673242bb7ce09b9f5983c27163e5bfc/src/main/clojure/clojure/contrib/string.clj#L162 –