string - 如何从字符串中删除单词列表

标签 string clojure stop-words

我想做的事情(在 Clojure 中):

例如,我有一个需要删除的词向量:

(def forbidden-words [":)" "the" "." "," " " ...many more...])

...和一个字符串向量:
(def strings ["the movie list" "this.is.a.string" "haha :)" ...many more...])

因此,应该从每个字符串中删除每个禁用词,在这种情况下,结果将是:["movie list""thisisastring""haha"]。

这该怎么做 ?

最佳答案

(def forbidden-words [":)" "the" "." ","])
(def strings ["the movie list" "this.is.a.string" "haha :)"])
(let [pattern (->> forbidden-words (map #(java.util.regex.Pattern/quote %)) 
                (interpose \|)  (apply str))]
  (map #(.replaceAll % pattern "") strings))

关于string - 如何从字符串中删除单词列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2553668/

相关文章:

clojure - 具有最小和最大限制的架构?

mysql - InnoDB 可以使用停用词文件吗?

python 3解决数据框问题

java - 使用两个嵌套的 for 循环构建字符串模式会使代码太慢,两个分开会导致无法通过测试‽

Java : Char vs String byte size

string - 使用 Ogden’s Lemma 与常规 Pumping Lemma 进行上下文无关语法

python - 用 Python 计算 Dataframe 中的单词数

java - 非空字符串的哈希码可以为零吗?

algorithm - 如何生成表示 'e' 二进制扩展的系列

java - 在没有 Java 知识的情况下学习 Clojure