java 正则表达式的小例子

以下是Java 正则表达式的几个例子

(1)银行卡号每隔四位增加一个空格

Java代码  java 正则表达式的小例子
  1. @Test  
  2.     public void test_formBankCard(){  
  3.         String input="6225880137706868";  
  4.         System.out.println("\""+input.replaceAll("([\\d]{4})""$1 ")+"\"");  
  5.     }  

 运行结果:"6225 8801 3770 6868 "

弊端:最后多了一个空格

解决方案:

Java代码  java 正则表达式的小例子
  1. @Test  
  2.     public void test_formBankCard(){  
  3.         String input="6225880137706868";  
  4.         System.out.println("\""+DigitUtil.formBankCard(input)+"\"");  
  5.   
  6.     }  
  7. /*** 
  8.      *  
  9.      * @param input : 银行卡号,例如"6225880137706868" 
  10.      * @return 
  11.      */  
  12.     public static String formBankCard(String input){  
  13.         String result=input.replaceAll("([\\d]{4})(?=\\d)""$1 ");  
  14.         return result;  
  15.     }  

 运行结果:"6225 8801 3770 6868"

 

(2)格式化数字

比如把1234567格式化为1,234,567

方式一:使用DecimalFormat

Java代码  java 正则表达式的小例子
  1. @Test  
  2.     public void test_formatFileSize(){  
  3.         DecimalFormat df1 = (DecimalFormat) DecimalFormat.getInstance();  
  4.         df1.setGroupingSize(3);  
  5.         String result= df1.format(1234567);  
  6.         System.out.println(result);  
  7.     }  

 运行结果:1,234,567

 

方式二:使用正则表达式

Java代码  java 正则表达式的小例子
  1. @Test  
  2.     public void test_digit(){  
  3.         String input="1234567";  
  4.         String regx="(?<=\\d)(\\d{3})";  
  5.         System.out.println(input.replaceAll(regx, ",$1"));  
  6.   
  7.     }  

 运行结果:1,234,567

 

参考:http://www.cnblogs.com/etoah/p/4307510.html

上一篇:激活Win2008时显示,Error:product not found


下一篇:4种事务的隔离级别,InnoDB如何巧妙实现?