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

1 Answer

0 votes
import java.util.Set;

public class ForbiddenCheck {

    private static final Set<String> FORBIDDEN = Set.of(
        "badword",
        "evil",
        "kill",
        "nasty",
        "terrible"
    );

    public static boolean containsForbidden(String input) {
        // Normalize: lowercase + split on any whitespace or punctuation
        String[] words = input
                .toLowerCase()
                .split("[^a-z0-9]+");

        for (String w : words) {
            if (FORBIDDEN.contains(w)) {
                return true;
            }
        }
        return false;
    }

    public static void main(String[] args) {
        String s = "This text contains a badword inside";

        if (containsForbidden(s)) {
            System.out.println("Forbidden word detected");
        } else {
            System.out.println("No forbidden words found");
        }
    }
}



/*
run:

Forbidden word detected

*/

 



answered Dec 26, 2025 by avibootz

Related questions

...