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

2 Answers

0 votes
val forbidden = Set("badword", "evil", "kill", "nasty", "terrible")
val text = "This text contains a badword inside"

val lower = text.toLowerCase

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



/*
run:

Forbidden word detected

*/

 



answered Dec 27, 2025 by avibootz
0 votes
import scala.util.matching.Regex

def containsForbidden(text: String, forbidden: Set[String]): Boolean = {
  val wordRe = new Regex("[a-z0-9]+")
  val words = wordRe.findAllIn(text.toLowerCase).toSet
  words.intersect(forbidden).nonEmpty
}

val text = "This text contains a badword inside"
val forbidden = Set("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

...