/** * * 字符串工具类 * @author user * @version V1.0 Jan 26, 2011 */ public final class StringUtil { public static final char FLAG_ESCAPE_CHARACTER = '/''; public static final char FLAG_CHAR_CONNECTOR = ','; private StringUtil() { } /** * * 判断一个字符串是否为空 * @param str * @return */ public static boolean isEmpty(String str) { return null == str || str.length() == 0; } /** * * 判断字符为数字 * @param str * @return */ public static boolean isDigit(String str) { if (str.matches("//d*")) { return true; } return false; } /** * * 根据分割符分割字符串,获取指定位置的字符串。如果越界,返回null。 * @param srcStr * @param regex * @param index 从0开始 * @return */ public static String getSplitStrByIndex(String srcStr, String regex, int index) { String[] tmpStrArray = srcStr.split(regex); if (index > tmpStrArray.length - 1) { return null; } return trimString(tmpStrArray[index]); } /** * * 去掉字符串空格 * @param srcStr * @return */ public static String trimString(String srcStr) { if (null == srcStr) { return null; } return srcStr.trim(); } /** * * 截取指定长度,如果不足,则全部返回 * @param str * @param length * @return */ public static String getMaxStr(String str, int length) { String result = null; if (null != str) { int strLength = str.length(); int endIndex = strLength < length ? strLength : length; result = str.substring(0, endIndex); } return result; } /** * 正则匹配字符串 * TODO 添加方法注释 * @param str * @param regex * @return */ public static boolean matches(String str, String regex) { if (null == str || null == regex) { return false; } return str.matches(regex); } /** * String remove prefix * @param str * @param prefix * @return str-prefix * example: * input 00012 0 * output: 12 */ public static String removePrefix(String str, char prefix) { if (isEmpty(str)) { return str; } String target = str.trim(); int index = 0; while (target.charAt(index) == prefix) { index++; } return target.substring(index); } /** * String add prefix * @param str * @param prefix * @param totalLength * @return prefix+str * example: * input: 12,0,6 * output: 000012 */ public static String addPrefix(String str, char prefix, int totalLength) { if (isEmpty(str)) { return str; } String target = str.trim(); int prefixLength = totalLength - str.length(); if (0 >= prefixLength) { return str; } StringBuffer buf = new StringBuffer(totalLength); int index = 0; while (index < prefixLength) { buf.append(prefix); index++; } buf.append(target); return buf.toString(); } }