rustrict
rustrict
is a profanity filter for Rust.
When evaluated against the first 100,000 items of this list,
it has 92.16% accuracy (85% positive accuracy, 94% negative accuracy), as of version 0.1.2
.
Setup
= "0.1.2"
Usage
Strings (&str
)
use CensorStr;
let censored: String = "hello crap".censor;
let inappropriate: bool = "f u c k".is_inappropriate;
assert_eq!;
assert!;
Iterators (Iterator<Type = char>
)
use CensorIter;
let censored: String = "hello crap".chars.censor.collect;
assert_eq!
Advanced
By constructing a Censor
, one can avoid scanning text multiple times to get a censored String
and/or
answer multiple is
queries. This also opens up more customization options (defaults are below).
use ;
let = from_str
.with_censor_first_character
.with_ignore_false_positives
.with_censor_replacement
.censor_and_analyze;
assert_eq!;
assert!;
assert!;
Development
If you make an adjustment that would affect false positives, you will need to run false_positive_finder
:
- Run
./download.sh
to get the required word lists. - Run
cargo run --bin false_positive_finder --release --all-features
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.