Rude word filter

Posted on 2004-09-17
Last Modified: 2012-03-15
Hi ppl!

I need to add a rude word filter to a webform to check if a user has entered an obscene word in a sentence stored in a string captured from a textbox. Can someone recommend a way of doing this in c#. Also does anyone know a source/library of common rude words to use?

Thanks for your help,
Question by:tnook
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Expert Comment

ID: 12090328
This sounds like a classic parsing problem. Basically what you want to do is parse the text for your predefined rude words when the Textbox text is validating. I'll start you off by telling you to have a look at the Validating Events for the Textbox control and also the Regex class to help you with the parsing.

Do some reading on those and make an attempt at some code. If you have further problems then check back here and I'll try to help.
LVL 19

Expert Comment

ID: 12090697
you can have an arraylist and then filll targat arraylist with all the common rude words...

if (RudeWords.Contains(InputWord)) //input word from user is being checked
//word is catch!!
LVL 18

Expert Comment

ID: 12091101
This link shows an example to do such things
Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

LVL 10

Accepted Solution

ptmcomp earned 400 total points
ID: 12091150
This could work similar to SPAM filters like K9. First parse the text and seperate words (e.g. using regex), then look them up in a hashtable/database.

Expert Comment

ID: 12091334
I agree with ptmcomp's suggestion:

                  string Commend= "I love this game game";

                  string []words= Commend.Split(new Char[] {' '});
                  Hashtable ht = new Hashtable();
                  for ( int i=0;i< words.Length;i++)
                        if ( !ht.ContainsKey(words[i].ToLower()) )
                  ArrayList badwords = new ArrayList();
                  bool bFind = false;
                  for ( int i=0;i<badwords.Count;i++)
                        if ( ht.ContainsKey(badwords[i]))

If the input is quite a long sentence, it will be more efficient than searching the whole string. But if the input is a different language which don't split words by space,  that's a different story.

Expert Comment

ID: 12093144
Don't forget that a poor implementation will earn you the scorn of all the inhabitants of Scunthorpe and Penistone.
LVL 10

Expert Comment

ID: 12102782
I know Scunthorpe is a place, and a football team, but is Penistone a place ?? never heard of that one.

Expert Comment

ID: 12105228
Indeed Penistone is a place. I imagine they suffer just as badly as Scunthorpe in the Internet filtering game. Still - Scunthorpe is more famous, if only because of the ill-fated proposal to change the name to Sconthorpe for Internet use. Talk about get a life!
LVL 10

Expert Comment

ID: 12105271
Then they'd have the trouble with whether to pronounce it Scone-Thorpe or Scon-Thorpe

Anyway... :-)

Featured Post

Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: Ivo
C# And Nullable Types Since 2.0 C# has Nullable(T) Generic Structure. The idea behind is to allow value type objects to have null values just like reference types have. This concerns scenarios where not all data sources have values (like a databa…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit If you want to manage em…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question