判断字符串全为数字
Posted 寻渝记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断字符串全为数字相关的知识,希望对你有一定的参考价值。
1 判断字符串全为数字
1.1 直接调用 isNumeric 方法
1.1.1 引入commons依赖包
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.6</version> </dependency>
1.1.2 通过 StringUtils类 调用 isNumeric方法
技巧01:StringUtils对应的包为 -> import org.apache.commons.lang3.StringUtils;
StringUtils.isNumeric(string)
1.1.3 StringUtils源码
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) // package org.apache.commons.lang3; import java.io.UnsupportedEncodingException; import java.nio.charset.Charset; import java.text.Normalizer; import java.text.Normalizer.Form; import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Objects; import java.util.regex.Pattern; public class StringUtils { public static final String SPACE = " "; public static final String EMPTY = ""; public static final String LF = "\\n"; public static final String CR = "\\r"; public static final int INDEX_NOT_FOUND = -1; private static final int PAD_LIMIT = 8192; public StringUtils() { } public static boolean isEmpty(CharSequence cs) { return cs == null || cs.length() == 0; } public static boolean isNotEmpty(CharSequence cs) { return !isEmpty(cs); } public static boolean isAnyEmpty(CharSequence... css) { if (ArrayUtils.isEmpty(css)) { return false; } else { CharSequence[] var1 = css; int var2 = css.length; for(int var3 = 0; var3 < var2; ++var3) { CharSequence cs = var1[var3]; if (isEmpty(cs)) { return true; } } return false; } } public static boolean isNoneEmpty(CharSequence... css) { return !isAnyEmpty(css); } public static boolean isAllEmpty(CharSequence... css) { if (ArrayUtils.isEmpty(css)) { return true; } else { CharSequence[] var1 = css; int var2 = css.length; for(int var3 = 0; var3 < var2; ++var3) { CharSequence cs = var1[var3]; if (isNotEmpty(cs)) { return false; } } return true; } } public static boolean isBlank(CharSequence cs) { int strLen; if (cs != null && (strLen = cs.length()) != 0) { for(int i = 0; i < strLen; ++i) { if (!Character.isWhitespace(cs.charAt(i))) { return false; } } return true; } else { return true; } } public static boolean isNotBlank(CharSequence cs) { return !isBlank(cs); } public static boolean isAnyBlank(CharSequence... css) { if (ArrayUtils.isEmpty(css)) { return false; } else { CharSequence[] var1 = css; int var2 = css.length; for(int var3 = 0; var3 < var2; ++var3) { CharSequence cs = var1[var3]; if (isBlank(cs)) { return true; } } return false; } } public static boolean isNoneBlank(CharSequence... css) { return !isAnyBlank(css); } public static boolean isAllBlank(CharSequence... css) { if (ArrayUtils.isEmpty(css)) { return true; } else { CharSequence[] var1 = css; int var2 = css.length; for(int var3 = 0; var3 < var2; ++var3) { CharSequence cs = var1[var3]; if (isNotBlank(cs)) { return false; } } return true; } } public static String trim(String str) { return str == null ? null : str.trim(); } public static String trimToNull(String str) { String ts = trim(str); return isEmpty(ts) ? null : ts; } public static String trimToEmpty(String str) { return str == null ? "" : str.trim(); } public static String truncate(String str, int maxWidth) { return truncate(str, 0, maxWidth); } public static String truncate(String str, int offset, int maxWidth) { if (offset < 0) { throw new IllegalArgumentException("offset cannot be negative"); } else if (maxWidth < 0) { throw new IllegalArgumentException("maxWith cannot be negative"); } else if (str == null) { return null; } else if (offset > str.length()) { return ""; } else if (str.length() > maxWidth) { int ix = offset + maxWidth > str.length() ? str.length() : offset + maxWidth; return str.substring(offset, ix); } else { return str.substring(offset); } } public static String strip(String str) { return strip(str, (String)null); } public static String stripToNull(String str) { if (str == null) { return null; } else { str = strip(str, (String)null); return str.isEmpty() ? null : str; } } public static String stripToEmpty(String str) { return str == null ? "" : strip(str, (String)null); } public static String strip(String str, String stripChars) { if (isEmpty(str)) { return str; } else { str = stripStart(str, stripChars); return stripEnd(str, stripChars); } } public static String stripStart(String str, String stripChars) { int strLen; if (str != null && (strLen = str.length()) != 0) { int start = 0; if (stripChars == null) { while(start != strLen && Character.isWhitespace(str.charAt(start))) { ++start; } } else { if (stripChars.isEmpty()) { return str; } while(start != strLen && stripChars.indexOf(str.charAt(start)) != -1) { ++start; } } return str.substring(start); } else { return str; } } public static String stripEnd(String str, String stripChars) { int end; if (str != null && (end = str.length()) != 0) { if (stripChars == null) { while(end != 0 && Character.isWhitespace(str.charAt(end - 1))) { --end; } } else { if (stripChars.isEmpty()) { return str; } while(end != 0 && stripChars.indexOf(str.charAt(end - 1)) != -1) { --end; } } return str.substring(0, end); } else { return str; } } public static String[] stripAll(String... strs) { return stripAll(strs, (String)null); } public static String[] stripAll(String[] strs, String stripChars) { int strsLen; if (strs != null && (strsLen = strs.length) != 0) { String[] newArr = new String[strsLen]; for(int i = 0; i < strsLen; ++i) { newArr[i] = strip(strs[i], stripChars); } return newArr; } else { return strs; } } public static String stripAccents(String input) { if (input == null) { return null; } else { Pattern pattern = Pattern.compile("\\\\p{InCombiningDiacriticalMarks}+"); StringBuilder decomposed = new StringBuilder(Normalizer.normalize(input, Form.NFD)); convertRemainingAccentCharacters(decomposed); return pattern.matcher(decomposed).replaceAll(""); } } private static void convertRemainingAccentCharacters(StringBuilder decomposed) { for(int i = 0; i < decomposed.length(); ++i) { if (decomposed.charAt(i) == 321) { decomposed.deleteCharAt(i); decomposed.insert(i, \'L\'); } else if (decomposed.charAt(i) == 322) { decomposed.deleteCharAt(i); decomposed.insert(i, \'l\'); } } } public static boolean equals(CharSequence cs1, CharSequence cs2) { if (cs1 == cs2) { return true; } else if (cs1 != null && cs2 != null) { if (cs1.length() != cs2.length()) { return false; } else { return cs1 instanceof String && cs2 instanceof String ? cs1.equals(cs2) : CharSequenceUtils.regionMatches(cs1, false, 0, cs2, 0, cs1.length()); } } else { return false; } } public static boolean equalsIgnoreCase(CharSequence str1, CharSequence str2) { if (str1 != null && str2 != null) { if (str1 == str2) { return true; } else { return str1.length() != str2.length() ? false : CharSequenceUtils.regionMatches(str1, true, 0, str2, 0, str1.length()); } } else { return str1 == str2; } } public static int compare(String str1, String str2) { return compare(str1, str2, true); } public static int compare(String str1, String str2, boolean nullIsLess) { if (str1 == str2) { return 0; } else if (str1 == null) { return nullIsLess ? -1 : 1; } else if (str2 == null) { return nullIsLess ? 1 : -1; } else { return str1.compareTo(str2); } } public static int compareIgnoreCase(String str1, String str2) { return compareIgnoreCase(str1, str2, true); } public static int compareIgnoreCase(String str1, String str2, boolean nullIsLess) { if (str1 == str2) { return 0; } else if (str1 == null) { return nullIsLess ? -1 : 1; } else if (str2 == null) { return nullIsLess ? 1 : -1; } else { return str1.compareToIgnoreCase(str2); } } public static boolean equalsAny(CharSequence string, CharSequence... searchStrings) { if (ArrayUtils.isNotEmpty(searchStrings)) { CharSequence[] var2 = searchStrings; int var3 = searchStrings.length; for(int var4 = 0; var4 < var3; ++var4) { CharSequence next = var2[var4]; if (equals(string, next)) { return true; } } } return false; } public static boolean equalsAnyIgnoreCase(CharSequence string, CharSequence... searchStrings) { if (ArrayUtils.isNotEmpty(searchStrings)) { CharSequence[] var2 = searchStrings; int var3 = searchStrings.length; for(int var4 = 0; var4 < var3; ++var4) { CharSequence next = var2[var4]; if (equalsIgnoreCase(string, next)) { return true; } } } return false; } public static int indexOf(CharSequence seq, int searchChar) { return isEmpty(seq) ? -1 : CharSequenceUtils.indexOf(seq, searchChar, 0); } public static int indexOf(CharSequence seq, int searchChar, int startPos) { return isEmpty(seq) ? -1 : CharSequenceUtils.indexOf(seq, searchChar, startPos); } public static int indexOf(CharSequence seq, CharSequence searchSeq) { return seq != null && searchSeq != null ? CharSequenceUtils.indexOf(seq, searchSeq, 0) : -1; } public static int indexOf(CharSequence seq, CharSequence searchSeq, int startPos) { return seq != null && searchSeq != null ? CharSequenceUtils.indexOf(seq, searchSeq, startPos) : -1; } public static int ordinalIndexOf(CharSequence str, CharSequence searchStr, int ordinal) { return ordinalIndexOf(str, searchStr, ordinal, false); } private static int ordinalIndexOf(CharSequence str, CharSequence searchStr, int ordinal, boolean lastIndex) { if (str != null && searchStr != null && ordinal > 0) { if (searchStr.length() == 0) { return lastIndex ? str.length() : 0; } else { int found = 0; int index = lastIndex ? str.length() : -1; do { if (lastIndex) { index = CharSequenceUtils.lastIndexOf(str, searchStr, index - 1); } else { index = CharSequenceUtils.indexOf(str, searchStr, index + 1); } if (index < 0) { return index; } ++found; } while(found < ordinal); return index; } } else { return -1; } } public static int indexOfIgnoreCase(CharSequence str, CharSequence searchStr) { return indexOfIgnoreCase(str, searchStr, 0); } public static int indexOfIgnoreCase(CharSequence str, CharSequence searchStr, int startPos) { if (str != null && searchStr != null) { if (startPos < 0) { startPos = 0; } int endLimit = str.length() - searchStr.length() + 1; if (startPos > endLimit) { return -1; } else if (searchStr.length() == 0) { return startPos; } else { for(int i = startPos; i < endLimit; ++i) { if (CharSequenceUtils.regionMatches(str, true, i, searchStr, 0, searchStr.length())) { return i; } } return -1; } } else { return -1; } } public static int lastIndexOf(CharSequence seq, int searchChar) { return isEmpty(seq) ? -1 : CharSequenceUtils.lastIndexOf(seq, searchChar, seq.length()); } public static int lastIndexOf(CharSequence seq, int searchChar, int startPos) { return isEmpty(seq) ? -1 : CharSequenceUtils.lastIndexOf(seq, searchChar, startPos); } public static int lastIndexOf(CharSequence seq, CharSequence searchSeq) { return seq != null && searchSeq != null ? CharSequenceUtils.lastIndexOf(seq, searchSeq, seq.length()) : -1; } public static int lastOrdinalIndexOf(CharSequence str, CharSequence searchStr, int ordinal) { return ordinalIndexOf(str, searchStr, ordinal, true); } public static int lastIndexOf(CharSequence seq, CharSequence searchSeq, int startPos) { return seq != null && searchSeq != null ? CharSequenceUtils.lastIndexOf(seq, searchSeq, startPos) : -1; } public static int lastIndexOfIgnoreCase(CharSequence str, CharSequence searchStr) { return str != null && searchStr != null ? lastIndexOfIgnoreCase(str, searchStr, str.length()) : -1; } public static int lastIndexOfIgnoreCase(CharSequence str, CharSequence searchStr, int startPos) { if (str != null && searchStr != null) { if (startPos > str.length() - searchStr.length()) { startPos = str.length() - searchStr.length(); } if (startPos < 0) { return -1; } else if (searchStr.length() == 0) { return startPos; } else { for(int i = startPos; i >= 0; --i) { if (CharSequenceUtils.regionMatches(str, true, i, searchStr, 0, searchStr.length())) { return i; } } return -1; } } else { return -1; } } public static boolean contains(CharSequence seq, int searchChar) { if (isEmpty(seq)) { return false; } else { return CharSequenceUtils.indexOf(seq, searchChar, 0) >= 0; } } public static boolean contains(CharSequence seq, CharSequence searchSeq) { if (seq != null && searchSeq != null) { return CharSequenceUtils.indexOf(seq, searchSeq, 0) >= 0; } else { return false; } } public static boolean containsIgnoreCase(CharSequence str, CharSequence searchStr) { if (str != null && searchStr != null) { int len = searchStr.length(); int max = str.length() - len; for(int i = 0; i <= max; ++i) { if (CharSequenceUtils.regionMatches(str, true, i, searchStr, 0, len)) { return true; } } return false; } else { return false; } } public static boolean containsWhitespace(CharSequence seq) { if (isEmpty(seq)) { return false; } else { int strLen = seq.length(); for(int i = 0; i < strLen; ++i) { if (Character.isWhitespace(seq.charAt(i))) { return true; } } return false; } } public static int indexOfAny(CharSequence cs, char... searchChars) { if (!isEmpty(cs) && !ArrayUtils.isEmpty(searchChars)) { int csLen = cs.length(); int csLast = csLen - 1; int searchLen = searchChars.length; int searchLast = searchLen - 1; for(int i = 0; i < csLen; ++i) { char ch = cs.charAt(i); for(int j = 0; j < searchLen; ++j) { if (searchChars[j] == ch) { if (i >= csLast || j >= searchLast || !Character.isHighSurrogate(ch)) { return i; } if (searchChars[j + 1] == cs.charAt(i + 1)) { return i; } } } } return -1; } else { return -1; } } public static int indexOfAny(CharSequence cs, String searchChars) { return !isEmpty(cs) && !isEmpty(searchChars) ? indexOfAny(cs, searchChars.toCharArray()) : -1; } public static boolean containsAny(CharSequence cs, char... searchChars) { if (!isEmpty(cs) && !ArrayUtils.isEmpty(searchChars)) { int csLength = cs.length(); int searchLength = searchChars.length; int csLast = csLength - 1; int searchLast = searchLength - 1java字符串是否是全为数字的判断