Java的string自定义工具类StringUtils
/** * 去掉多余的0,追加单位 * * @author:jiaxla Create on 2017年3月16日 */ public static String trimZero(String str, String unit) { if (str.indexOf(".") > 0) { str = str.replaceAll("0+?$", "");// 去掉多余的0 str = str.replaceAll("[.]$", "");// 如最后一位是.则去掉 } return str + unit; } /** * 根据输入集合,产出字符串 * * @author:zhanglp Create on 2017年3月16日 */ public static String getListToString(List<Object> list, String type) { String flagstr = ""; if (type.trim().equals("int")) { flagstr = getListString(list, ""); } else if (type.trim().equals("string")) { flagstr = getListString(list, "'"); } return flagstr; } public static String getListString(List<Object> list, String type) { StringBuffer flagstr = new StringBuffer(""); for (int i = 0; i < list.size(); i++) { if (type.trim().equals("int")) { flagstr.append(list.get(i)).append(","); } else if (type.trim().equals("string")) { flagstr.append("'").append(list.get(i)).append("'").append(","); } } return flagstr.substring(0, flagstr.length() - 1); } public static String getListToIntString(List<String> list) { String res_str = ""; StringBuffer flagstr = new StringBuffer(""); for (int i = 0; i < list.size(); i++) { flagstr.append(list.get(i)).append(","); } res_str = flagstr.substring(0, flagstr.length() - 1); return res_str; } public static String getListToStrString(List<String> list) { String res_str = ""; StringBuffer flagstr = new StringBuffer(""); for (int i = 0; i < list.size(); i++) { flagstr.append("'").append(list.get(i)).append("'").append(","); } res_str = flagstr.substring(0, flagstr.length() - 1); return res_str; } public static String getStrOfSingleQuote(String inputStr) { String res_str = ""; StringBuffer flagstr = new StringBuffer(""); String[] strArray = inputStr.split(","); for (String str : strArray) { // 增加单引号 flagstr.append("'").append(str).append("'").append(","); } res_str = flagstr.substring(0, flagstr.length() - 1); return res_str; } /*** * 判断 String 是否是 int 大于等于1 * * @param input * @return */ public static boolean isInteger(String input) { Matcher mer = Pattern.compile("^[1-9]\\d*$").matcher(input); return mer.find(); } /** * 验证时间字符串格式输入是否正确 * * @param timeStr * @return */ public static boolean validDateTimeWithLongFormat(String timeStr) { String format = "((19|20)[0-9]{2})(0?[1-9]|1[012])(0?[1-9]|[12][0-9]|3[01])([01]?[0-9]|2[0-3])[0-5][0-9][0-5][0-9]"; Pattern pattern = Pattern.compile(format); Matcher matcher = pattern.matcher(timeStr); if (matcher.matches()) { pattern = Pattern.compile("(\\d{4})(\\d+)(\\d+).*"); matcher = pattern.matcher(timeStr); if (matcher.matches()) { int y = Integer.valueOf(matcher.group(1)); int m = Integer.valueOf(matcher.group(2)); int d = Integer.valueOf(matcher.group(3)); if (d > 28) { Calendar c = Calendar.getInstance(); c.set(y, m - 1, 1); int lastDay = c.getActualMaximum(Calendar.DAY_OF_MONTH); return (lastDay >= d); } } return true; } return false; } /** * 已","分割的字符串转List * * @param s * @return */ public static List<String> stringToList(String s) { List<String> list = new ArrayList<String>(); String[] array = s.split(","); for (String string : array) { list.add(string); } return list; } public static List<List<String>> stringToList(String s, int count) { List<List<String>> res = new ArrayList<>(); List<String> list = new ArrayList<String>(); String[] array = s.split(","); for (int i = 1; i < array.length + 1; i++) { list.add(array[i - 1]); if (i % count == 0) { res.add(list); list = new ArrayList<String>(); } } return res; } /** * 判断是否为数字,包括浮点型 * */ public static boolean isNumber(String input) { Matcher mer = Pattern.compile("[+-]?([1-9][0-9]*(\\.[0-9]*)?$|0(\\.[0-9]+)?$)").matcher(input); // |(0\\.[0-9]+) return mer.find(); } /** * lvyan简单的字符串拼接 * @param list * @return */ public static String getListString(List<String> list) { StringBuffer flagstr = new StringBuffer(""); for (int i = 0; i < list.size(); i++) { flagstr.append(list.get(i)).append(" AND "); } return flagstr.substring(0, flagstr.length() - 5); }
/** * 找出数组和字符串相同的元素 */ public static List<String> findSame(String[] arr1, String[] arr2) { HashMap<String, String> map = new HashMap<String, String>(); for (String a : arr1) {// 增强for循环 map.put(a, a); } // 存放相同的元素 List<String> list = new ArrayList<String>(); for (String b : arr2) { if (map.get(b) != null) { list.add(b); } } return list; } /** * 去除字符串中的空格、回车、换行符、制表符等 * @param str * @return */ public static String replaceSpecialStr(String str) { String repl = ""; if (str!=null) { Pattern p = Pattern.compile("\\s*|\t|\r|\n"); Matcher m = p.matcher(str); repl = m.replaceAll(""); } return repl; }
/**
* 将str转化为int,传入null或""时返回0
*
* @author : mazhen
*
* @param str
* @return
*/
public static int stringToInt(String str) {
int num = 0;
if (null == str || "".equals(str)) {
return 0;
} else {
return Integer.parseInt(str);
}
}
/**
* 驼峰式转下划线
*
* @author:jiaxla Create on 2017年3月8日
*/
public static String camelToUnderline(String param) {
if (param == null || "".equals(param.trim())) {
return "";
}
int len = param.length();
StringBuilder sb = new StringBuilder(len);
for (int i = 0; i < len; i++) {
char c = param.charAt(i);
if (Character.isUpperCase(c)) {
sb.append(UNDERLINE);
sb.append(Character.toLowerCase(c));
} else {
sb.append(c);
}
}
return sb.toString();
}
/**
* 下划线方式转驼峰
*
* @author:jiaxla Create on 2017年3月8日
*/
public static String underlineToCamel(String param) {
if (param == null || "".equals(param.trim())) {
return "";
}
int len = param.length();
StringBuilder sb = new StringBuilder(len);
for (int i = 0; i < len; i++) {
char c = param.charAt(i);
if (c == UNDERLINE) {
if (++i < len) {
sb.append(Character.toUpperCase(param.charAt(i)));
}
} else {
sb.append(c);
}
}
return sb.toString();
}
/**
* 下划线方式转驼峰
*
* @author:jiaxla Create on 2017年3月8日
*/
public static String underlineToCamel2(String param) {
if (param == null || "".equals(param.trim())) {
return "";
}
StringBuilder sb = new StringBuilder(param);
Matcher mc = Pattern.compile("_").matcher(param);
int i = 0;
while (mc.find()) {
int position = mc.end() - (i++);
// String.valueOf(Character.toUpperCase(sb.charAt(position)));
sb.replace(position - 1, position + 1, sb.substring(position, position + 1).toUpperCase());
}
return sb.toString();
}
发表吐槽
你肿么看?
既然没有吐槽,那就赶紧抢沙发吧!