JavaJava 简单实用方法二

重整在此以前的笔记,在念书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

相关文章