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,023 questions

51,974 answers

573 users

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

1 Answer

0 votes
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;

class Program
{
    // Fast O(1) lookup
    private static readonly HashSet<string> Forbidden = new(StringComparer.OrdinalIgnoreCase) {
        "badword",
        "evil",
        "kill",
        "nasty",
        "terrible"
    };

    public static bool ContainsForbidden(string input) {
        // Normalize: lowercase + split on non-alphanumeric
        var words = Regex.Split(input.ToLower(), "[^a-z0-9]+"); 
        
        foreach (var w in words) {
            if (Forbidden.Contains(w))
                return true;
        }

        return false;
    }

    static void Main()
    {
        string s = "This text contains a badword inside";

        if (ContainsForbidden(s))
            Console.WriteLine("Forbidden word detected");
        else
            Console.WriteLine("No forbidden words found");
    }
}


/*
run:

Forbidden word detected

*/

 



answered Dec 26, 2025 by avibootz

Related questions

...