Java的string自定义工具类StringUtils

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


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://bjspace.net/post/45

相关推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 抛媚眼 调皮 鄙视 示爱 哭 开心 偷笑 嘘 奸笑 委屈 抱抱 Dog 大兵 威武

评论信息框

吃奶的力气提交吐槽中...


既然没有吐槽,那就赶紧抢沙发吧!