跳到主内容
UniKit

敏感词检测

用自定义词库扫描文本,标出每个命中位置与次数,支持 `*` 通配、大小写开关、打码预览与高亮统计。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

区分大小写
打码预览
What the f**k, this s**t is b*****d and b******d too.
高亮预览

What the fuck, this shit is badword and bad-word too.

统计命中总数: 4
词条次数位置
fuck19
shit120
bad*word228, 40

这个工具能做什么

  • 发帖、上架商品或提交文案前先扫一遍,看看有没有会被平台判定违规的词。
  • 社区运营整理自定义词库:广告词、竞品名、辱骂词一行一个,粘贴文本就能定位到具体位置。
  • 给测试数据打码:把用户昵称、脏话替换成 f**k 这种形式,截图时不会泄露原文。
  • 排查「看起来一样却匹配不上」的问题,配合 `*` 通配找出变体写法(如 f*ck 能命中 fuck、fack、fck)。

示例

输入

词库:fuck / shit / bad*word;文本:What the fuck, this is shitty.

输出

打码结果:What the f**k, this is s**tty.;命中总数 2(fuck 位于下标 9,shit 位于下标 23)

匹配按「最左最长」进行,命中的片段不重叠;打码保留首尾字符、中间替换成 *,两个字以内(如 fuck 之外的 it)全部打码。

常见问题

`*` 通配符是怎么匹配的?

`*` 代表任意字符(不跨行),其余字符按字面量处理。所以 f*ck 能命中 fuck、fack、fck,bad*word 能命中 badxword。只由 `*` 组成的词条会匹配空串,会被直接忽略。

为什么词库里有词却没检测出来?

常见原因有三个:勾选了「区分大小写」但文本大小写不一致;命中的片段已被前一个更靠左的词条吃掉(命中不重叠);词库某行被 `#` 开头当成注释跳过了。

打码后的结果能直接用来发布吗?

打码只替换命中的字符,保留首尾字母,词形仍然可辨认。它适合做截图脱敏或示例展示,不适合当作正式的合规过滤——真正的过滤需要按平台规则做完整替换。

词库或文本为空会怎样?

文本为空提示「请输入待检测文本」,词库为空(或只有空行和 `#` 注释)提示「词库不能为空」。只有一边有内容时不会给出结果,避免误以为「没有命中」。

检测会把文本发到服务器吗?

不会。扫描、打码、高亮全部在浏览器里用正则完成,没有网络请求,也不会保存你的词库或文本。

关键词:sensitive wordword filterprofanity敏感词过滤打码文本检测wildcardcontent filter

同类工具