作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从给定的字符串中去除亵渎词的正确方法是什么:
1) 我有一个包含 100 个单词的列表,需要在字符串数组中查找。
2)处理部分单词的正确方法是什么?大多数人如何处理这个问题?例如质量这个词。然后有时部分词也不好 - 假设 foobar 是一个非常亵渎的词,我可能想禁止 foobar 和 foobar* 和 *foobar。
那么您是将所有单词放入一个表达式中还是遍历列表?
处理它的正确方法是什么?我正在使用 Groovy/Grails,但欢迎使用任何现代语言示例。
最佳答案
这是一个很难解决的问题,您需要确定正则表达式是否适合您以及您如何处理嵌入(当您将字典词添加到像 frackface 这样的亵渎性词时,除了真正的 F 词时)。
正则表达式通常对它们的长度有限制,这通常会阻止您对所有单词使用单个正则表达式。对一个字符串执行多个正则表达式真的很慢,这取决于您需要什么性能以及您的黑名单有多大。我们初步实现 CleanSpeak作为一个正则表达式系统,但它没有扩展,我们使用不同的机制重写了它。
您还需要考虑短语、标点符号、空格、leet-speak 和其他语言。所有这些都使正则表达式作为解决方案的吸引力降低。以下是一些使用 hello 一词的示例(假设它是本练习中的脏话):
关于regex - 使用正则表达式的脏话过滤器(100 个单词的列表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8319136/
我知道对于为什么这是一个坏主意有很多争论,但在我的实现中,我计划在帐户设置中启用/禁用坏词。换句话说,坏词默认是可见的,但如果询问则关闭/隐藏。 计划是向客户端发送一个 JSON 字符串,让客户端过滤
我是一名优秀的程序员,十分优秀!