經常使用方法以下:java
// 字符串取數 public String stringGetNum(String str) { String str2 = ""; if (str != null && !"".equals(str)) { for (int i = 0; i < str.length(); i++) { if ((str.charAt(i) >= 48 && str.charAt(i) <= 57) || str.charAt(i) == 46 || str.charAt(i) == 45) { str2 += str.charAt(i); } } return str2; } return str; } public String stringGetEng(String str) { String str2 = ""; if (str != null && !("".equals(str))) { for (int i = 0; i < str.length(); i++) { if ((str.charAt(i) <= 'z' && str.charAt(i) >= 'a') || (str.charAt(i) <= 'Z' && str.charAt(i) >= 'A')) { str2 += str.charAt(i); } } return str2; } return str; } // 字符串取字符 // 判斷一個字符串是不是數字 public boolean stringMatchesNum(String str) { String regex = "^(\\-|\\+)?\\d+(\\.\\d+)?$"; boolean p = Pattern.matches(regex, str); return p; } // 判斷一個字符串是不是十六進制數字 public boolean stringMatchesHex(String str) { String regex = "^0[x|X][A-Fa-f0-9]{1,8}$"; boolean p = Pattern.matches(regex, str); return p; } // 判斷一個字符串是null或者是空字符串 public boolean string_IsNull_Or_IsZeroLength(String str) { if (null == str || "".equals(str.trim())) { return true; } else { return false; } } // 判斷一個字符串不爲null不爲空字符串 public boolean string_NotNull_And_NotZeroLength(String str) { if (null != str && !("".equals(str.trim()))) { return true; } else { return false; } } // 判斷一個字符串不爲null不爲空字符串而且是數字 public boolean string_NotNull_And_NotZeroLength_And_MatchesNum(String str) { if (null != str && !("".equals(str.trim())) && stringMatchesNum(str.trim())) { return true; } else { return false; } } // 判斷一個字符串不爲null不爲空字符串而且是十六進制數字 public boolean string_NotNull_And_NotZeroLength_And_MatchesHex(String str) { if (null != str && !("".equals(str.trim())) && stringMatchesHex(str.trim())) { return true; } else { return false; } } // 獲取一個字符串中的數字,字符串分紅兩側,一側是數字一側是字符 public String getStringMatchesNum(String str) { String DkValue = ""; // 獲取千米標前綴標識 String regex = "(\\-|\\+)?\\d+(\\.\\d+)?"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(str); if (m.find()) { // System.out.println("Found value: " + m.group() ); DkValue = m.group().toString(); return DkValue.trim(); } else { // System.out.println("NO MATCH"); return ""; } } // 獲取千米標標識 public String getDkName(String DisKilo) { // String a = "11aZDK41640.73a"; String DkValue = ""; // 獲取千米標前綴標識 String DkFlag = getDkFlag(DisKilo); String regex = "^.*" + DkFlag; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(DisKilo); if (m.find()) { // System.out.println("Found value: " + m.group() ); DkValue = m.group().toString(); return DkValue.trim(); } else { // System.out.println("NO MATCH"); return ""; } } // 獲取千米標值 public String getDkValue(String DisKilo) { // String a = "11aZDK41640.73a"; String DkValue = ""; // 獲取千米標前綴標識 String DkFlag = getDkFlag(DisKilo); String regex = "(?<=" + DkFlag + ").*$"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(DisKilo); if (m.find()) { // System.out.println("Found value: " + m.group() ); DkValue = m.group().toString(); return DkValue.trim(); } else { // System.out.println("NO MATCH"); return ""; } } // 獲取千米標符號 public String getDkFlag(String DistanceKilo) { // String a = "11aZDK41640.73a"; String DkFlag = ""; for (int i = 0; i < ldDkFlag.length; i++) { if (null != DistanceKilo && !"".equals(DistanceKilo.trim())) { if (DistanceKilo.contains(ldDkFlag[i])) { DkFlag = ldDkFlag[i]; return DkFlag; } } } return DkFlag; }
11111ide