1. 程式人生 > >Java字串常用操作

Java字串常用操作

String字串

查詢單引號裡的內容

// String regex = "'([^']*)'";
// 使用懶惰量詞 *? 
String regex = "'(.*?)'";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(msg);
while (matcher.find()) {
    para.put("parameter", matcher.group(1));//直接用group()會帶出單引號
}

判斷字串是否是數字

  • 正則表示式

    /**
         * 利用正則表示式判斷字串是否是數字
         * @param str
         * @return
         */
        public boolean isNumeric(String str){
               Pattern pattern = Pattern.compile("[0-9]*");
               Matcher isNum = pattern.matcher(str);
               if( !isNum.matches() ){
                   return false;
               }
               return true;
        }
  • common包

    org.apache.commons.lang.StringUtils;
    ​
    boolean isNunicodeDigits=StringUtils.isNumeric("aaa123456789");
    ​
    http://jakarta.apache.org/commons/lang/api-release/index.html下面的解釋:
    ​
    public static boolean isNumeric(String str)Checks if the String contains only unicode digits. A decimal point is not a unicode digit and returns false.
    ​
    null will return false. An empty String ("") will return true.
    ​
    StringUtils.isNumeric(null)   = false
    ​
    StringUtils.isNumeric("")     = true
    ​
    StringUtils.isNumeric(" ")   = false
    ​
    StringUtils.isNumeric("123") = true
    ​
    StringUtils.isNumeric("12 3") = false
    ​
    StringUtils.isNumeric("ab2c") = false
    ​
    StringUtils.isNumeric("12-3") = false
    ​
    StringUtils.isNumeric("12.3") = false

字串、數字互相轉換

  • string 和int之間的轉換

    string轉換成int :Integer.valueOf("12")

    int轉換成string : String.valueOf(12)

  • char和int之間的轉換

    首先將char轉換成string

    String str=String.valueOf('2')

    Integer.valueof(str) 或者Integer.PaseInt(str)

    區別:Integer.valueof返回的是Integer物件,Integer.paseInt返回的是int