Wednesday, April 8, 2009

Function To Censor String

Here is a function that censors a string, but leaves in all of the punctuation. It searches for strings of letters and numbers and if it matches "badword", will replace it with "[censored]".

public String censorString(String originalString)


StringBuffer orig = new StringBuffer(originalString);

Pattern p = Pattern.compile("[0-9/A-Z/a-z]+");

Matcher m = p.matcher(orig);

StringBuffer censor = new StringBuffer();

boolean result = m.find();

while (result)


String match = originalString.substring(m.start(), m.end());


m.appendReplacement(censor, "[censored]");

result = m.find();



return censor.toString();