package games.strategy.util; /** * Designed to remove/replace<br> * / \b \n \r \t \0 \f ` ? * \ < > | " ' : . , ^ [ ] = + ; */ public class IllegalCharacterRemover { private static final char[] ILLEGAL_CHARACTERS = {'/', '\b', '\n', '\r', '\t', '\0', '\f', '`', '?', '*', '\\', '<', '>', '|', '\"', '\'', ':', '.', ',', '^', '[', ']', '=', '+', ';'}; /** * Designed to remove / \b \n \r \t \0 \f ` ? * \ < > | " ' : . , ^ [ ] = + ; */ public static String removeIllegalCharacter(final String text) { final StringBuilder rVal = new StringBuilder(); for (int i = 0; i < text.length(); ++i) { if (!isIllegalFileNameChar(text.charAt(i))) { rVal.append(text.charAt(i)); } } return rVal.toString(); } /** * Designed to replace / \b \n \r \t \0 \f ` ? * \ < > | " ' : . , ^ [ ] = + ; */ public static String replaceIllegalCharacter(final String text, final char replacement) { final StringBuilder rVal = new StringBuilder(); for (int i = 0; i < text.length(); ++i) { if (!isIllegalFileNameChar(text.charAt(i))) { rVal.append(text.charAt(i)); } else { rVal.append(replacement); } } return rVal.toString(); } private static boolean isIllegalFileNameChar(final char c) { boolean isIllegal = false; for (final char element : ILLEGAL_CHARACTERS) { if (c == element) { isIllegal = true; break; } } return isIllegal; } }