package routines; public class UserString { /** * * L Removes leading occurrences of character. * T Removes trailing occurrences of character. * B Removes leading and trailing occurrences of character. * R Removes leading and trailing occurrences of character, and reduces multiple occurrences to a single occurrence. * A Removes all occurrences of character. * F Removes leading spaces and tabs * E Removes trailing spaces and tabs * D Removes leading and trailing spaces and tabs, and reduces multiple spaces and tabs to single ones. */ public static String TRIM(String str, String character, String option) { String returnStr = ""; if (str == null) { return null; } if (option.equals("L")) { returnStr = str.replaceFirst("^" + character + "+", ""); } else if (option.equals("T")) { returnStr = str.replaceAll("[" + character + "]+$", ""); } else if (option.equals("B")) { returnStr = str.replaceFirst("^" + character + "+", ""); returnStr = returnStr.replaceAll("[" + character + "]+$", ""); } else if (option.equals("R")) { returnStr = str.replaceFirst("^" + character + "+", ""); returnStr = returnStr.replaceAll("[" + character + "]+$", ""); returnStr = avoidMultipleOccurrence(returnStr, character); } else if (option.equals("A")) { returnStr = str.replaceAll(character, ""); } else if (option.equals("F")) { returnStr = TRIM(str, " ", "L"); returnStr = TRIM(returnStr, "\t", "L"); } else if (option.equals("E")) { returnStr = TRIM(str, " ", "T"); returnStr = TRIM(returnStr, "\t", "T"); } else if (option.equals("D")) { returnStr = TRIM(str, "", "F"); returnStr = TRIM(returnStr, "", "E"); returnStr = avoidMultipleOccurrence(returnStr, " "); returnStr = avoidMultipleOccurrence(returnStr, "\t"); } return returnStr; } public static String TRIM(String str) { return (str == null) ? null : TRIM(str, " ", "R"); } public static String avoidMultipleOccurrence(String input, String character) { if (input == null) { return null; } if (input.length() == 0) { return input; } StringBuilder output = new StringBuilder(); output.append(input.charAt(0)); for (int idx = 1; idx < input.length(); idx++) { if (Character.toString(input.charAt(idx)).equals(character)) { if(input.charAt(idx) != input.charAt(idx-1)) { output.append(input.charAt(idx)); } } else { output.append(input.charAt(idx)); } } return output.toString(); } }
0 Comments