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();
}



发表吐槽
你肿么看?
既然没有吐槽,那就赶紧抢沙发吧!