类 StringUtils

java.lang.Object
com.walker.jdbc.util.StringUtils

public abstract class StringUtils extends Object
Miscellaneous String utility methods.

Mainly for internal use within the framework; consider Jakarta's Commons Lang for a more comprehensive suite of String utilities.

This class delivers some simple functionality that should really be provided by the core Java String and StringBuilder classes, such as the ability to replace(java.lang.String, java.lang.String, java.lang.String) all occurrences of a given substring in a target string. It also provides easy-to-use methods to convert between delimited strings, such as CSV strings, and collections and arrays.

从以下版本开始:
16 April 2001
作者:
Rod Johnson, Juergen Hoeller, Keith Donald, Rob Harrop, Rick Evans, Arjen Poutsma
  • 字段详细资料

  • 构造器详细资料

    • StringUtils

      public StringUtils()
  • 方法详细资料

    • removeBefore

      public static final String removeBefore(String source, String separator)
      删除字符串中分隔符之前的内容,包括分隔符
      参数:
      source - :源字符串
      separator - :分隔符
      返回:
    • isContainValue

      public static final boolean isContainValue(String[] source, String dest)
      查找给定的数组中是否包含指定的内容
      参数:
      source -
      dest -
      返回:
    • isNormalChar

      public static final boolean isNormalChar(String text)
      判断是否正常的字符A~Z
      参数:
      text -
      返回:
    • cutStringLaskComma

      public static final String cutStringLaskComma(StringBuffer sbStr)
      删除掉字符串中最后拼接的逗号
      参数:
      sbStr -
      返回:
      返回最终字符串结果
    • hasLength

      public static boolean hasLength(CharSequence str)
      Check that the given CharSequence is neither null nor of length 0. Note: Will return true for a CharSequence that purely consists of whitespace.

       StringUtils.hasLength(null) = false
       StringUtils.hasLength("") = false
       StringUtils.hasLength(" ") = true
       StringUtils.hasLength("Hello") = true
       
      参数:
      str - the CharSequence to check (may be null)
      返回:
      true if the CharSequence is not null and has length
      另请参阅:
    • hasLength

      public static boolean hasLength(String str)
      Check that the given String is neither null nor of length 0. Note: Will return true for a String that purely consists of whitespace.
      参数:
      str - the String to check (may be null)
      返回:
      true if the String is not null and has length
      另请参阅:
    • hasText

      public static boolean hasText(CharSequence str)
      Check whether the given CharSequence has actual text. More specifically, returns true if the string not null, its length is greater than 0, and it contains at least one non-whitespace character.

       StringUtils.hasText(null) = false
       StringUtils.hasText("") = false
       StringUtils.hasText(" ") = false
       StringUtils.hasText("12345") = true
       StringUtils.hasText(" 12345 ") = true
       
      参数:
      str - the CharSequence to check (may be null)
      返回:
      true if the CharSequence is not null, its length is greater than 0, and it does not contain whitespace only
      另请参阅:
    • hasText

      public static boolean hasText(String str)
      Check whether the given String has actual text. More specifically, returns true if the string not null, its length is greater than 0, and it contains at least one non-whitespace character.
      参数:
      str - the String to check (may be null)
      返回:
      true if the String is not null, its length is greater than 0, and it does not contain whitespace only
      另请参阅:
    • containsWhitespace

      public static boolean containsWhitespace(CharSequence str)
      Check whether the given CharSequence contains any whitespace characters.
      参数:
      str - the CharSequence to check (may be null)
      返回:
      true if the CharSequence is not empty and contains at least 1 whitespace character
      另请参阅:
    • containsWhitespace

      public static boolean containsWhitespace(String str)
      Check whether the given String contains any whitespace characters.
      参数:
      str - the String to check (may be null)
      返回:
      true if the String is not empty and contains at least 1 whitespace character
      另请参阅:
    • trimWhitespace

      public static String trimWhitespace(String str)
      Trim leading and trailing whitespace from the given String.
      参数:
      str - the String to check
      返回:
      the trimmed String
      另请参阅:
    • trimAllWhitespace

      public static String trimAllWhitespace(String str)
      Trim all whitespace from the given String: leading, trailing, and inbetween characters.
      参数:
      str - the String to check
      返回:
      the trimmed String
      另请参阅:
    • trimLeadingWhitespace

      public static String trimLeadingWhitespace(String str)
      Trim leading whitespace from the given String.
      参数:
      str - the String to check
      返回:
      the trimmed String
      另请参阅:
    • trimTrailingWhitespace

      public static String trimTrailingWhitespace(String str)
      Trim trailing whitespace from the given String.
      参数:
      str - the String to check
      返回:
      the trimmed String
      另请参阅:
    • trimLeadingCharacter

      public static String trimLeadingCharacter(String str, char leadingCharacter)
      Trim all occurences of the supplied leading character from the given String.
      参数:
      str - the String to check
      leadingCharacter - the leading character to be trimmed
      返回:
      the trimmed String
    • trimTrailingCharacter

      public static String trimTrailingCharacter(String str, char trailingCharacter)
      Trim all occurences of the supplied trailing character from the given String.
      参数:
      str - the String to check
      trailingCharacter - the trailing character to be trimmed
      返回:
      the trimmed String
    • startsWithIgnoreCase

      public static boolean startsWithIgnoreCase(String str, String prefix)
      Test if the given String starts with the specified prefix, ignoring upper/lower case.
      参数:
      str - the String to check
      prefix - the prefix to look for
      另请参阅:
    • endsWithIgnoreCase

      public static boolean endsWithIgnoreCase(String str, String suffix)
      Test if the given String ends with the specified suffix, ignoring upper/lower case.
      参数:
      str - the String to check
      suffix - the suffix to look for
      另请参阅:
    • substringMatch

      public static boolean substringMatch(CharSequence str, int index, CharSequence substring)
      Test whether the given string matches the given substring at the given index.
      参数:
      str - the original string (or StringBuilder)
      index - the index in the original string to start matching against
      substring - the substring to match at the given index
    • countOccurrencesOf

      public static int countOccurrencesOf(String str, String sub)
      Count the occurrences of the substring in string s.
      参数:
      str - string to search in. Return 0 if this is null.
      sub - string to search for. Return 0 if this is null.
    • replace

      public static String replace(String inString, String oldPattern, String newPattern)
      Replace all occurences of a substring within a string with another string.
      参数:
      inString - String to examine
      oldPattern - String to replace
      newPattern - String to insert
      返回:
      a String with the replacements
    • delete

      public static String delete(String inString, String pattern)
      Delete all occurrences of the given substring.
      参数:
      inString - the original String
      pattern - the pattern to delete all occurrences of
      返回:
      the resulting String
    • deleteAny

      public static String deleteAny(String inString, String charsToDelete)
      Delete any character in a given String.
      参数:
      inString - the original String
      charsToDelete - a set of characters to delete. E.g. "az\n" will delete 'a's, 'z's and new lines.
      返回:
      the resulting String
    • quote

      public static String quote(String str)
      Quote the given String with single quotes.
      参数:
      str - the input String (e.g. "myString")
      返回:
      the quoted String (e.g. "'myString'"), or null if the input was null
    • quoteIfString

      public static Object quoteIfString(Object obj)
      Turn the given Object into a String with single quotes if it is a String; keeping the Object as-is else.
      参数:
      obj - the input Object (e.g. "myString")
      返回:
      the quoted String (e.g. "'myString'"), or the input object as-is if not a String
    • unqualify

      public static String unqualify(String qualifiedName)
      Unqualify a string qualified by a '.' dot character. For example, "this.name.is.qualified", returns "qualified".
      参数:
      qualifiedName - the qualified name
    • unqualify

      public static String unqualify(String qualifiedName, char separator)
      Unqualify a string qualified by a separator character. For example, "this:name:is:qualified" returns "qualified" if using a ':' separator.
      参数:
      qualifiedName - the qualified name
      separator - the separator
    • capitalize

      public static String capitalize(String str)
      Capitalize a String, changing the first letter to upper case as per Character.toUpperCase(char). No other letters are changed.
      参数:
      str - the String to capitalize, may be null
      返回:
      the capitalized String, null if null
    • uncapitalize

      public static String uncapitalize(String str)
      Uncapitalize a String, changing the first letter to lower case as per Character.toLowerCase(char). No other letters are changed.
      参数:
      str - the String to uncapitalize, may be null
      返回:
      the uncapitalized String, null if null
    • getFilename

      public static String getFilename(String path)
      Extract the filename from the given path, e.g. "mypath/myfile.txt" -> "myfile.txt".
      参数:
      path - the file path (may be null)
      返回:
      the extracted filename, or null if none
    • getFilenameExtension

      public static String getFilenameExtension(String path)
      Extract the filename extension from the given path, e.g. "mypath/myfile.txt" -> "txt".
      参数:
      path - the file path (may be null)
      返回:
      the extracted filename extension, or null if none
    • stripFilenameExtension

      public static String stripFilenameExtension(String path)
      Strip the filename extension from the given path, e.g. "mypath/myfile.txt" -> "mypath/myfile".
      参数:
      path - the file path (may be null)
      返回:
      the path with stripped filename extension, or null if none
    • applyRelativePath

      public static String applyRelativePath(String path, String relativePath)
      Apply the given relative path to the given path, assuming standard Java folder separation (i.e. "/" separators).
      参数:
      path - the path to start from (usually a full file path)
      relativePath - the relative path to apply (relative to the full file path above)
      返回:
      the full file path that results from applying the relative path
    • parseLocaleString

      public static Locale parseLocaleString(String localeString)
      Parse the given localeString into a Locale.

      This is the inverse operation of Locale's toString.

      参数:
      localeString - the locale string, following Locale's toString() format ("en", "en_UK", etc); also accepts spaces as separators, as an alternative to underscores
      返回:
      a corresponding Locale instance
    • toLanguageTag

      public static String toLanguageTag(Locale locale)
      Determine the RFC 3066 compliant language tag, as used for the HTTP "Accept-Language" header.
      参数:
      locale - the Locale to transform to a language tag
      返回:
      the RFC 3066 compliant language tag as String
    • toStringArray

      public static String[] toStringArray(Collection<String> collection)
      Copy the given Collection into a String array. The Collection must contain String elements only.
      参数:
      collection - the Collection to copy
      返回:
      the String array (null if the passed-in Collection was null)
    • toStringArray

      public static String[] toStringArray(Enumeration<String> enumeration)
      Copy the given Enumeration into a String array. The Enumeration must contain String elements only.
      参数:
      enumeration - the Enumeration to copy
      返回:
      the String array (null if the passed-in Enumeration was null)
    • split

      public static String[] split(String toSplit, String delimiter)
      Split a String at the first occurrence of the delimiter. Does not include the delimiter in the result.
      参数:
      toSplit - the string to split
      delimiter - to split the string up with
      返回:
      a two element array with index 0 being before the delimiter, and index 1 being after the delimiter (neither element includes the delimiter); or null if the delimiter wasn't found in the given input String
    • tokenizeToStringArray

      public static String[] tokenizeToStringArray(String str, String delimiters)
      Tokenize the given String into a String array via a StringTokenizer. Trims tokens and omits empty tokens.

      The given delimiters string is supposed to consist of any number of delimiter characters. Each of those characters can be used to separate tokens. A delimiter is always a single character; for multi-character delimiters, consider using delimitedListToStringArray

      参数:
      str - the String to tokenize
      delimiters - the delimiter characters, assembled as String (each of those characters is individually considered as delimiter).
      返回:
      an array of the tokens
      另请参阅:
    • tokenizeToStringArray

      public static String[] tokenizeToStringArray(String str, String delimiters, boolean trimTokens, boolean ignoreEmptyTokens)
      Tokenize the given String into a String array via a StringTokenizer.

      The given delimiters string is supposed to consist of any number of delimiter characters. Each of those characters can be used to separate tokens. A delimiter is always a single character; for multi-character delimiters, consider using delimitedListToStringArray

      参数:
      str - the String to tokenize
      delimiters - the delimiter characters, assembled as String (each of those characters is individually considered as delimiter)
      trimTokens - trim the tokens via String's trim
      ignoreEmptyTokens - omit empty tokens from the result array (only applies to tokens that are empty after trimming; StringTokenizer will not consider subsequent delimiters as token in the first place).
      返回:
      an array of the tokens (null if the input String was null)
      另请参阅:
    • delimitedListToStringArray

      public static String[] delimitedListToStringArray(String str, String delimiter)
      Take a String which is a delimited list and convert it to a String array.

      A single delimiter can consists of more than one character: It will still be considered as single delimiter string, rather than as bunch of potential delimiter characters - in contrast to tokenizeToStringArray.

      参数:
      str - the input String
      delimiter - the delimiter between elements (this is a single delimiter, rather than a bunch individual delimiter characters)
      返回:
      an array of the tokens in the list
      另请参阅:
    • delimitedListToStringArray

      public static String[] delimitedListToStringArray(String str, String delimiter, String charsToDelete)
      Take a String which is a delimited list and convert it to a String array.

      A single delimiter can consists of more than one character: It will still be considered as single delimiter string, rather than as bunch of potential delimiter characters - in contrast to tokenizeToStringArray.

      参数:
      str - the input String
      delimiter - the delimiter between elements (this is a single delimiter, rather than a bunch individual delimiter characters)
      charsToDelete - a set of characters to delete. Useful for deleting unwanted line breaks: e.g. "\r\n\f" will delete all new lines and line feeds in a String.
      返回:
      an array of the tokens in the list
      另请参阅:
    • commaDelimitedListToStringArray

      public static String[] commaDelimitedListToStringArray(String str)
      Convert a CSV list into an array of Strings.
      参数:
      str - the input String
      返回:
      an array of Strings, or the empty array in case of empty input
    • commaDelimitedListToSet

      public static Set<String> commaDelimitedListToSet(String str)
      Convenience method to convert a CSV string list to a set. Note that this will suppress duplicates.
      参数:
      str - the input String
      返回:
      a Set of String entries in the list
    • isEmptyList

      public static boolean isEmptyList(List<?> list)
      判断一个集合是否存在
      参数:
      list -
      返回:
      如果不存在,或者元素为0返回true
    • isEmpty

      public static boolean isEmpty(String text)
    • isNotEmpty

      public static boolean isNotEmpty(String text)
    • toArray

      public static final long[] toArray(List<Long> list)
    • toArray

      public static String[] toArray(String val)
      把字符串分割成字符串数组,默认分隔符为英文逗号(,)
      如果需要自定义分隔符,请使用stringToArray方法。
      参数:
      val -
      返回:
    • stringToArray

      public static String[] stringToArray(String val, String separator)
      把字符串分割成字符串数组
      参数:
      val - 原始字符串
      separator - 分隔符
      返回:
    • isNumeric

      public static boolean isNumeric(String str)
    • isNumericSpace

      public static boolean isNumericSpace(String str)
    • getNumbericType

      public static Class<?> getNumbericType(String str)
      返回给定的字符串对象类型:Double | Long | String
      参数:
      str -
      返回:
    • asList

      public static final List<String> asList(String[] arrays)
      把字符串数组转换成List对象
      参数:
      arrays -
      返回:
    • generateRandomNumber

      public static final String generateRandomNumber(int length)
      生成给定位数的随机数字串
      参数:
      length - 位数值(1~10)
      返回: