diff --git a/projects/samskivert/src/java/com/samskivert/util/StringUtil.java b/projects/samskivert/src/java/com/samskivert/util/StringUtil.java index 084ea388..068bf46c 100644 --- a/projects/samskivert/src/java/com/samskivert/util/StringUtil.java +++ b/projects/samskivert/src/java/com/samskivert/util/StringUtil.java @@ -1,5 +1,5 @@ // -// $Id: StringUtil.java,v 1.60 2003/10/24 01:17:51 ray Exp $ +// $Id: StringUtil.java,v 1.61 2003/10/29 19:42:40 ray Exp $ // // samskivert library - useful routines for java programs // Copyright (C) 2001 Michael Bayne @@ -68,6 +68,30 @@ public class StringUtil } } + /** + * Validates a character. + */ + public static interface CharacterValidator + { + public boolean isValid (char c); + } + + /** + * Sanitize the specified String so that only valid characters are in it. + */ + public static String sanitize (String source, CharacterValidator validator) + { + int nn = source.length(); + StringBuffer buf = new StringBuffer(nn); + for (int ii=0; ii < nn; ii++) { + char c = source.charAt(ii); + if (validator.isValid(c)) { + buf.append(c); + } + } + return buf.toString(); + } + /** * Returns a new string based on source with all * instances of before replaced with after.