代码工具类

  • list字符串根据拼接字符串返回新字符串,与org.apache.commons.lang.StringUtils.join方法一致
   /**
	 * 拼接包含joinStr字符串的数据
	 * @param strList
	 * @param joinStr
	 * @return
	 */
public static String joinList(Collection<String> strList, String joinStr)
	{
	
		StringBuilder stringBuilder = new StringBuilder();
		boolean flg=false;
		for (String string : strList)
		{
			if (flg)
			{
				stringBuilder.append(joinStr);
			}
			stringBuilder.append(string);
			flg=true;
		}
		return stringBuilder.toString();
	}
  • 日期正则相关
  /**初级日期判断:只校验格式不校验数据是否正确
    * 日期判断(yyyy-mm-dd和yyyy/mm/dd)
    * @param text
    * @return 正确日期=true null=false
    */
   public static boolean checkDate(String text)
   {
   	if (ValidateUtils.isNullOrEmpty(text))
   	{
   		return false;
   	}
   	String rgex = "^\\d{4}-\\d{1,2}-\\d{1,2}";
   	String pat = "^\\d{4}\\\\\\d{1,2}\\\\\\d{1,2}";
   	Pattern pattern1 = Pattern.compile(pat);
   	Matcher m1 = pattern1.matcher(text);
   	Pattern pattern = Pattern.compile(rgex);
   	Matcher m = pattern.matcher(text);
   	return m.matches() || m1.matches();
   }

  /**高级日期判断:校验数据、格式是否都正确
    * 获取字符串中第一个XXXX年XX月XX日的数据
    * @param text
    * @return XXXX-XX-XX
    */
   public static String getDate(String text)
   {
   	String rgex = "((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})年(((0[13578]|1[02])月(0[1-9]|[12][0-9]|3[01])日)|((0[469]|11)月(0[1-9]|[12][0-9]|30)日)|(02月(0[1-9]|[1][0-9]|2[0-8])日)))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))年02月29日))";
   	Pattern pattern = Pattern.compile(rgex);
   	Matcher m = pattern.matcher(text);
   	while (m.find())
   	{
   		// 1 代表得到第一个(子表达式)匹配
   		String dataString = m.group(1);
   		return dataString.replaceAll("年|月|日", "-").substring(0, dataString.length() - 1);
   	}
   	return "";
   }
  • 字符正则相关
   /**
	 * 根据正则表达式返回字符串中符合条件的所有字符串
	 * @param text
	 * @param pattern
	 * @return
	 */
	public static List<String> getAllMatcherStringByZZ(String text, String pattern)
	{
		List<String> dataList = new ArrayList<String>();
		Pattern pat = Pattern.compile(pattern);
		Matcher m = pat.matcher(text);
		while (m.find())
		{
			String dataString = m.group();
			dataList.add(dataString);
		}
		return dataList;
	}

	/**
	 * 根据正则表达式替换所有字符串中符合条件的字符串(忽略大小写)
	 * @param text
	 * @param pattern
	 * @param repString
	 * @return
	 */
	public static String repAllMatcherStringByZZ(String text, String pattern, String repString)
	{
		Pattern p = Pattern.compile(pattern);
		Matcher m = p.matcher(text);
		text = m.replaceAll(repString);
		return text;
	}

/**
	 * 设置字符串的最大小数位数
	 * @param str
	 * @param digits 位数
	 * @return
	 */
	public static String setMaxFractionDigits(String str, int digits)
	{
		if (isEmpty(str))
		{
			return "";
		}
		NumberFormat nf = NumberFormat.getNumberInstance();
//		  setMaximumFractionDigits(int newValue) 设置数的小数部分所允许的最大位数。
		nf.setMaximumFractionDigits(digits);
		return nf.format(Double.valueOf(str));
	}
  • 数值正则相关
/**
	 * 验证字符串是否都是数字
	 * @param text
	 * @param type 默认 非负整数(正整数+0) 1 正整数 2 浮点数 3 正浮点数 4 0-100以内的数(可输入两位小数)
	 * @return true 是 false 否
	 */
	public static boolean checkAllNumber(String text, String type)
	{
		String pattern = "^\\d+$";
		if (!isEmpty(type))
		{
			switch (type)
			{
			case "1":
				pattern = "^[0-9]*[1-9][0-9]*$";
				break;
			case "2":
				pattern = "^(-?\\d+)(\\.\\d+)?$";
				break;
			case "3":
				pattern = "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$";
				break;
			case "4":
				pattern = "^(((\\d|[1-9]\\d)(\\.\\d{1,2})?)|100|100.0|100.00)$";
				break;
			}
		}
		Pattern pat = Pattern.compile(pattern);
		Matcher m = pat.matcher(text);
		return m.matches();
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值