经常使用方法以下: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