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

2 Answers

0 votes
fun main() {
    val forbidden = listOf("badword", "evil", "kill", "nasty", "terrible")
    val text = "This text contains a badword inside"

    val lower = text.lowercase()

    if (forbidden.any { lower.contains(it) }) {
        println("Forbidden word detected")
    } else {
        println("No forbidden words found")
    }
}



/*
run:

Forbidden word detected

*/

 



answered Dec 27, 2025 by avibootz
0 votes
fun containsForbidden(text: String, forbidden: Set<String>): Boolean {
    val words = Regex("[a-z0-9]+")
        .findAll(text.lowercase())
        .map { it.value }
        .toSet()

    return words.intersect(forbidden).isNotEmpty()
}


fun main() {
    val text = "This text contains a badword inside"
    val forbidden = setOf("badword", "evil", "kill", "nasty", "terrible")

    println(
        if (containsForbidden(text, forbidden)) "Forbidden word detected"
        else "No forbidden words found"
    )
}



/*
run:

Forbidden word detected

*/

 



answered Dec 27, 2025 by avibootz

Related questions

...