• Java 简单实用方法二


    整理以前的笔记,在学习Java时候,经常会用到一些方法。虽然简单但是经常使用。因此做成笔记,方便以后查阅
    这篇博文先说明构造和使用这些方法。

    1,判断String类型数据是否包含中文

    可以通过正则表达式来判断。

     public static boolean isChineseChar(String str) {
            Pattern p = Pattern.compile("[u4e00-u9fa5]");
            Matcher m = p.matcher(str);
            return m.find();    
        }
            String str1="你好";
            String str2="Hello";
            String str3="你好 ,@¥Hello@…… 世界.\ ";    
            System.out.println(isChineseChar(str1)); //true
            System.out.println(isChineseChar(str2)); //false
            System.out.println(isChineseChar(str3)); //true

    2,获取String类型中文的数据

    那么先通过正则表达式来判断是否包含中文,如果数据包含中问便将中文数据取出来。
    注:使用StringBuffer累加比String 效率更高。

    public static String getChinese(String paramValue) {
            String regex = "([u4e00-u9fa5]+)";
            StringBuffer sb=new StringBuffer();
            Matcher matcher = Pattern.compile(regex).matcher(paramValue);
            while (matcher.find()) {
                sb.append(matcher.group(0));
            }
            return sb.toString();       
        }
           String str1="你好";
            String str2="Hello";
            String str3="你好 ,@¥Hello@…… 世界.\ "; 
           System.out.println(getChinese(str1));  //你好
            System.out.println(getChinese(str2)); //
            System.out.println(getChinese(str3)); //你好世界

    3,四舍五入取整数

    使用DecimalFormat来格式化十进制数字。
    注: 0 一个数字
     # 一个数字,不包括 0
     . 小数的分隔符的占位符

        public static Double formatDouble(Double db,String format) {
            if(null==format||"".equals(format)){
                return db;
            }
            DecimalFormat    df   = new DecimalFormat(format); //定义格式
            return  Double.parseDouble(df.format(db));
        }
            double db1=5.6849;   
            System.out.println(formatDouble(db1,"#.00")); //5.68
            System.out.println(formatDouble(db1,"#.000"));//5.685
            System.out.println(formatDouble(db1,"#")); //6.0
            System.out.println(formatDouble(db1,".00")); //5.68
            System.out.println(formatDouble(db1,"00")); //6.0

    4,String数据中插入指定字符
    方法一:使用substring方法拼接起来

        public static String insertString1(String a,String b,int t){     
              return a.substring(0,t)+b+a.substring(t,a.length());
        } 
            String str4="abcdef";
            System.out.println(insertString1(str4,"p",2));//abpcdef
            System.out.println(insertString1(str4,"k",3));//abckdef
    

    方法二:使用StringBuffer中insert方法

      public static String insertString2(String a,String b,int t) {
            StringBuilder  sb = new StringBuilder(a);  
            sb.insert(t, b);   
            return sb.toString();   
        }
            String str4="abcdef";
            System.out.println(insertString2(str4,"p",2));//abpcdef
            System.out.println(insertString2(str4,"k",3));//abckdef

    5,String数据替换指定字符
    方法一:通过在String插入字符可以得出,原该位置的字符回向后偏移,那么在拼接数据的时候去掉插入原位置的字符。

      public static String repaceString1(String a,String b,int t){     
              return a.substring(0,t)+b+a.substring(t+b.length(),a.length());
        } 
        String str4="abcdef";
        System.out.println(repaceString1(str4,"pp",2));//abppef
        System.out.println(repaceString1(str4,"kk",3));//abckkf
    

    方法二:通过StringBuffer中的repace方法替换该字符

    public static String repaceString2(String a,String b,int t){     
            StringBuilder  sb = new StringBuilder(a);  
            sb.replace(t, t+b.length(), b);   
            return sb.toString();   
        } 
    
        String str4="abcdef";
        System.out.println(repaceString2(str4,"pp",2));//abppef
        System.out.println(repaceString2(str4,"kk",3));//abckkf
  • 相关阅读:
    MySQL创建数据库简单命令
    工作的本质是解决问题
    使用消息中间件时,如何保证消息仅仅被消费一次?
    缓存穿透了怎么办?
    MySQL 数据库的提速器-写缓存(Change Buffer)
    删库了,我们一定要跑路吗?
    做好一件事的三要素
    一分钟简单了解 JSON Web Token
    聊一聊 MySQL 中的数据编辑过程中涉及的两阶段提交
    聊一聊 MySQL 数据库中的那些锁
  • 原文地址:https://www.cnblogs.com/xuwujing/p/7536718.html
Copyright © 2020-2023  润新知