Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

40,003 questions

51,950 answers

573 users

How to check whether a user string contains any forbidden words from a list in Rust

2 Answers

0 votes
fn contains_forbidden(text: &str, forbidden: &[&str]) -> bool {
    let lower = text.to_lowercase();
    
    forbidden.iter().any(|w| lower.contains(w))
}

fn main() {
    let text = "This text contains a badword inside";
    let forbidden = ["badword", "evil", "kill", "nasty", "terrible"];

    if contains_forbidden(text, &forbidden) {
        println!("Forbidden word detected");
    } else {
        println!("No forbidden words found");
    }
}



/*
run:

Forbidden word detected

*/

 



answered Dec 27, 2025 by avibootz
0 votes
use regex::Regex;
use std::collections::HashSet;

fn contains_forbidden(text: &str, forbidden: &[&str]) -> bool {
    let word_re = Regex::new(r"[a-z0-9]+").unwrap();

    // Extract words
    let words: HashSet<String> = word_re
        .find_iter(&text.to_lowercase())
        .map(|m| m.as_str().to_string())
        .collect();

    // Build forbidden set
    let forbidden_set: HashSet<&str> = forbidden.iter().copied().collect();

    // Check intersection
    words.iter().any(|w| forbidden_set.contains(w.as_str()))
}

fn main() {
    let text = "This text contains a badword inside";
    let forbidden = ["badword", "evil", "kill", "nasty", "terrible"];

    println!("{}", contains_forbidden(text, &forbidden));
}



/*
run:

true

*/

 



answered Dec 27, 2025 by avibootz

Related questions

...