/*
tranlsate(GHIJABDE,12/31/1999, ABCDEFGHIJ ) -> 19991231
translate(AB-GHIJ, 12/31/1999, ABCDEFGHIJ) ->12-1999
translate(GHIJ-AB-DE, 12/31/1999, ABCDEFGHIJ) ->1999-12-31
For each character of the input, if that character is found in InTable,it is replaced with the character from OutTable
*/
tranlsate(GHIJABDE,12/31/1999, ABCDEFGHIJ ) -> 19991231
translate(AB-GHIJ, 12/31/1999, ABCDEFGHIJ) ->12-1999
translate(GHIJ-AB-DE, 12/31/1999, ABCDEFGHIJ) ->1999-12-31
For each character of the input, if that character is found in InTable,it is replaced with the character from OutTable
*/
public static String translate(String input, String outTable, String inTable) {
if (null == input)
return input;
String output = input;
outTable = left(outTable, inTable.length());
for (int i = 0; i < inTable.length(); i++) {
output = output.replace(inTable.charAt(i), outTable.charAt(i));
}
return output;
}
public static String left(String input, int length) {
return left(input, length, " ");
}
public static String left(String input, int length, String pad) {
StringBuffer output = new StringBuffer(input);
for (int i = input.length(); i < length; i += pad.length()) {
output.append(pad);
}
return output.toString().substring(0, length);
}