package org.ifsoft; import java.util.ArrayList; public class StringExtensions { public static String empty = ""; public static String concat(Object strs[]) { StringBuilder sb = new StringBuilder(); Object arr$[] = strs; int len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { Object s = arr$[i$]; sb.append(s.toString()); } return sb.toString(); } public static String concat(String s1) { return s1; } public static String concat(String s1, String s2) { return (new StringBuilder()).append(s1).append(s2).toString(); } public static String concat(String s1, String s2, String s3) { return (new StringBuilder()).append(s1).append(s2).append(s3).toString(); } public static String concat(String s1, String s2, String s3, String s4) { return (new StringBuilder()).append(s1).append(s2).append(s3).append(s4).toString(); } public static String join(String separator, String array[]) { StringBuilder sb = new StringBuilder(); for(int i = 0; i < array.length; i++) { if(i > 0) sb.append(separator); sb.append(array[i]); } return sb.toString(); } public static String[] split(String s, Character chars[]) { ArrayList splits = new ArrayList(); if(chars.length > 0) { splits.add(s); Character arr$[] = chars; int len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { Character c = arr$[i$]; for(int i = 0; i < splits.size(); i++) { String subsplit[] = ((String)splits.get(i)).split(c.toString()); splits.remove(i); int j; for(j = 0; j < subsplit.length; j++) splits.add(i + j, subsplit[j]); i += j - 1; } } } else { splits.add(s); } return (String[])splits.toArray(new String[0]); } public static Boolean isNullOrEmpty(String s) { return Boolean.valueOf(s == null || s.equals("")); } public static Integer indexOf(String str, String s) { return Integer.valueOf(str.indexOf(s)); } public static Integer indexOf(String str, String s, StringComparison stringComparison) { if(stringComparison == StringComparison.CurrentCultureIgnoreCase || stringComparison == StringComparison.InvariantCultureIgnoreCase || stringComparison == StringComparison.OrdinalIgnoreCase) return Integer.valueOf(str.toLowerCase().indexOf(s.toLowerCase())); else return Integer.valueOf(str.indexOf(s)); } public static Boolean startsWith(String str, String s, StringComparison stringComparison) { if(stringComparison == StringComparison.CurrentCultureIgnoreCase || stringComparison == StringComparison.InvariantCultureIgnoreCase || stringComparison == StringComparison.OrdinalIgnoreCase) return Boolean.valueOf(str.toLowerCase().startsWith(s.toLowerCase())); else return Boolean.valueOf(str.startsWith(s)); } public static Boolean endsWith(String str, String s, StringComparison stringComparison) { if(stringComparison == StringComparison.CurrentCultureIgnoreCase || stringComparison == StringComparison.InvariantCultureIgnoreCase || stringComparison == StringComparison.OrdinalIgnoreCase) return Boolean.valueOf(str.toLowerCase().endsWith(s.toLowerCase())); else return Boolean.valueOf(str.endsWith(s)); } public static String format(String format, Object args[]) { switch(args.length) { case 0: // '\0' return format; case 1: // '\001' return format(format, (String)args[0]); case 2: // '\002' return format(format, (String)args[0], (String)args[1]); case 3: // '\003' return format(format, (String)args[0], (String)args[1], (String)args[2]); case 4: // '\004' default: return format(format, (String)args[0], (String)args[1], (String)args[2], (String)args[3]); } } public static String format(String format, Object arg0) { return String.format(reformatNetFormat(format, 1), new Object[] { arg0 }); } public static String format(String format, Object arg0, Object arg1) { return String.format(reformatNetFormat(format, 2), new Object[] { arg0, arg1 }); } public static String format(String format, Object arg0, Object arg1, Object arg2) { return String.format(reformatNetFormat(format, 3), new Object[] { arg0, arg1, arg2 }); } public static String format(String format, Object arg0, Object arg1, Object arg2, Object arg3) { return String.format(reformatNetFormat(format, 4), new Object[] { arg0, arg1, arg2, arg3 }); } public static String reformatNetFormat(String format, int count) { String reformat = format; for(int i = 0; i < count; i++) reformat = reformat.replace(String.format("{%d}", new Object[] { Integer.valueOf(i) }), String.format("%%%d$s", new Object[] { Integer.valueOf(i + 1) })); return reformat; } public static String toLower(String s) { return s.toLowerCase(); } public static Integer getLength(String str) { return Integer.valueOf(str.length()); } public static ArrayList getChars(String str) { ArrayList chars = new ArrayList(str.length()); for(int i = 0; i < str.length(); i++) chars.add(i, Character.valueOf(str.charAt(i))); return chars; } public static String substring(String str, int startIndex, int length) { return str.substring(startIndex, startIndex + length); } public static String trimEnd(String str, Character chars[]) { StringBuilder s = new StringBuilder(); Character arr$[] = chars; int len$ = arr$.length; for(int i$ = 0; i$ < len$; i$++) { Character c = arr$[i$]; s.append(c); } return str.replaceAll((new StringBuilder()).append("[").append(s.toString()).append("]+$").toString(), ""); } }