简介
本文介绍Spring自带的字符串工具类:StringUtils。
StringUtils所在包:org.springframework.util
判断
| 方法 | 作用 |
| boolean isEmpty(Object str) | 字符串是否为空或者空字符串:”” |
| boolean hasLength(CharSequence str) | 字符串是否为空,或者长度为0 |
| boolean hasText(String str) | 字符串是否有内容(不为空,且不全为空字符) |
| boolean containsWhitespace(String str) | 字符串是否包含空格 |
示例
| 项 | isEmpty | hasLength | hasText |
| null | true | false | false |
| “” | true | false | false |
| ” “ | false | true | false |
| “Hello” | false | true | true |
字符串头尾
| 方法 | 作用 |
| String trimWhitespace(String str) | 去掉字符串前后的空格 |
| String trimAllWhitespace(String str) | 去掉字符串中所有的空格 |
| String trimLeadingWhitespace(String str) | 去掉字符串开头的空格 |
| String trimTrailingWhitespace(String str) | 去掉字符串结束的空格 |
| String trimLeadingCharacter(String str, char leadingCharacter) | 去掉字符串开头的指定字符; |
| String trimTrailingCharacter(String str, char trailingCharacter) | 去掉字符串结尾的指定字符; |
| boolean startsWithIgnoreCase(String str, String prefix) | 判断字符串是否以指定字符串开头,忽略大小写 |
| boolean endsWithIgnoreCase(String str, String suffix) | 判断字符串是否以指定字符串结尾,忽略大小写 |
字符串和子串
| 方法 | 作用 |
| boolean substringMatch(CharSequence str, int index, CharSequence substring) | 判断从指定索引开始,是否匹配子字符串 |
| int countOccurrencesOf(String str, String sub) | 判断子字符串在字符串中出现的次数 |
| String replace(String inString, String oldPattern, String newPattern) | 在字符串中使用子字符串替换 |
| String delete(String inString, String pattern) | 删除所有匹配的子字符串; |
| String deleteAny(String inString, String charsToDelete) | 删除子字符串中任意出现的字符串 |
| String quote(String str) | 在字符串前后增加单引号,比较适合在日志时候使用; |
字符串与数组
| 方法 | 作用 |
| String[] addStringToArray(String[] array, String str) | 把一个字符串添加到一个字符串数组中 |
| String[] concatenateStringArrays(String[] array1, String[]array2) | 连接两个字符串数组 |
| String[] mergeStringArrays(String[] array1, String[] array2) | 连接两个字符串数组,去掉重复元素 |
| String[] sortStringArray(String[] array) | 字符串数组排序 |
| String[] toStringArray(Collection<String> collection) | 把字符串集合变成字符串数组 |
| String[] toStringArray(Enumeration<String> enumeration) | 把字符串枚举类型变成字符串数组 |
| String[] trimArrayElements(String[] array) | 把字符串数组中所有字符串执行trim功能; |
| String[] removeDuplicateStrings(String[] array) | 去掉给定字符串数组中重复的元素,能保持原顺序; |
| String[] split(String toSplit, String delimiter) | 按照指定字符串分割字符串; |
| String[] tokenizeToStringArray(String str, String delimiters) | 对每一个元素执行trim操作,并去掉空字符串 |
| String[] delimitedListToStringArray(String str, String delimiter) | 分割字符串,会把delimiter作为整体分隔符 |
| Set<String> commaDelimitedListToSet(String str) | 使用逗号分割字符串,并放到set中去重 |
| String arrayToDelimitedString(Object[] arr, String delim) | 数组使用指定字符串连接; |
文件路径名称
| 方法 | 作用 |
| String unqualify(String qualifiedName): | 得到以.分割的最后一个值,可以非常方便的获取类似类名或者文件后缀 |
| String unqualify(String qualifiedName, char separator): | 得到以给定字符分割的最后一个值,可以非常方便的获取类似文件名 |
| String capitalize(String str) | 首字母大写 |
| String uncapitalize(String str) | 取消首字母大写 |
| String getFilename(String path) | 获取文件名,就不需要再使用FilenameUtils |
| String getFilenameExtension(String path) | 获取文件后缀名 |
| String stripFilenameExtension(String path) | 去掉文件路径后缀 |
| String applyRelativePath(String path, String relativePath) | 在一个路径(通常是绝对路径,需要以“/”结束)之后,添加相对于它为起点的相对路径文件名。 |
| String cleanPath(String path) | 清理文件路径,这个方法配合applyRelativePath就可以计算一些简单的相对路径了 |
| boolean pathEquals(String path1, String path2) | 判断两个文件路径是否相同,会先执行cleanPath之后再比较 |
本地化操作
| 方法 | 作用 |
| Locale parseLocaleString(String localeString): | 从本地化字符串中解析出本地化信息,相当于Locale.toString()的逆向方法 |
| String toLanguageTag(Locale locale) | 把Locale转化成HTTP中Accept-Language能接受的本地化标准; |
字符串和Properties
| 方法 | 作用 |
| Properties splitArrayElementsIntoProperties(String[] array, String delimiter): | 把字符串数组中的每一个字符串按照给定的分隔符装配到一个Properties中 |
| Properties splitArrayElementsIntoProperties(String[] array, String delimiter, String charsToDelete) | 把字符串数组中的每一个字符串按照给定的分隔符装配到一个Properties中,并删除指定字符串,比如括号之类的; |
请先 !