node-sensitive-word-filtering
中文 | English
中文
基于 Node.js 实现的敏感词过滤脚本,使用前缀树(Trie)结构,支持高效匹配、大小写忽略、空格忽略功能。
特性
- 🌟 高效的敏感词过滤(基于前缀树)。
- 🌟 支持大小写忽略匹配。
- 🌟 支持过滤时忽略空格。
- 🌟 支持动态添加、删除敏感词。
安装
使用 NPM 安装:
npm install node-sensitive-word-filtering
示例使用
JavaScript 示例
const Trie = require('node-sensitive-word-filtering');
const trie = new Trie();
trie.insert('敏感词1');
trie.insert('敏感词12');
const inputText = '敏 感 词1 和其他内容。';
const filteredText = trie.filter({
text: inputText,
ignoreCase: true,
ignoreSpaces: true,
});
console.log(filteredText);
TypeScript 示例
import Trie from 'node-sensitive-word-filtering';
const trie = new Trie();
trie.insert('SensitiveWord');
trie.insert('BadWord');
const text = 'This text contains SensitiveWord and other stuff.';
const result = trie.filter({ text, ignoreCase: true });
console.log(result);
方法说明
insert(word: string): void
- 功能: 插入敏感词。
- 参数: word - 要插入的敏感词。
contains(word: string): boolean
- 功能: 检查敏感词是否存在。
- 参数: word - 要检查的敏感词。
- 返回值: 如果敏感词存在,返回 true,否则返回 false。
delete(word: string): void
- 功能: 删除敏感词。
- 参数: word - 要删除的敏感词。
filter(options: { text: string; ignoreCase?: boolean; ignoreSpaces?: boolean }): string
-
功能: 过滤文本中的敏感词。
-
参数:
-
返回值: 过滤后的文本。
English
A sensitive word filtering script implemented in Node.js, using a prefix tree (Trie) structure. Supports efficient matching, case-insensitivity, and space-insensitivity.
Features
🌟 Efficient sensitive word filtering (Trie-based).
🌟 Supports case-insensitive matching.
🌟 Supports ignoring spaces during filtering.
🌟 Dynamically add and remove sensitive words.
Installation
Install via NPM:
npm install node-sensitive-word-filtering
Example Usage
JavaScript Example
const Trie = require('node-sensitive-word-filtering');
const trie = new Trie();
trie.insert('SensitiveWord1');
trie.insert('SensitiveWord12');
const inputText = 'This contains SensitiveWord1 and some other text.';
const filteredText = trie.filter({
text: inputText,
ignoreCase: true,
ignoreSpaces: true,
});
console.log(filteredText);
TypeScript Example
import Trie from 'node-sensitive-word-filtering';
const trie = new Trie();
trie.insert('SensitiveWord');
trie.insert('BadWord');
const text = 'This text contains SensitiveWord and other stuff.';
const result = trie.filter({ text, ignoreCase: true });
console.log(result);
Method Descriptions
insert(word: string): void
- Function: Insert a sensitive word.
- Parameters: word - The sensitive word to insert.
contains(word: string): boolean
- Function: Check if a sensitive word exists.
- Parameters: word - The sensitive word to check.
- Returns: true if the word exists, otherwise false.
delete(word: string): void
- Function: Delete a sensitive word.
- Parameters: word - The sensitive word to delete.
filter(options: { text: string; ignoreCase?: boolean; ignoreSpaces?: boolean }): string
License
This project is licensed under the MIT License - see the LICENSE file for details.