public final class StringUtil extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static String |
BLANK
空格
|
static String |
EMPTY
空字符串
|
static String |
EMPTY_JSON
空 json
|
static String |
LETTERS_LOWER
小写的字母
|
static String |
LETTERS_UPPER
大写的字母
|
static String |
NEW_LINE
新行
System.lineSeparator() 实际的文本效果是2行
|
| 限定符和类型 | 方法和说明 |
|---|---|
static String |
buildString(Object original,
String middle,
int prefixLength)
构建新的字符串
|
static String |
bytesToString(byte[] bytes)
字节数组转字符串
|
static String |
camelToUnderline(String camelStr)
驼峰命名转下划线
|
static String |
capitalFirst(String string)
首字母大写
|
static boolean |
containsLowercase(String string)
是否包含小写字母
|
static boolean |
containsUppercase(String string)
是否包含大写字母
|
static List<String> |
contentToLines(String content)
在不同的操作系统中,对换号符的定义是不同的,比如:
1.
|
static String |
defaultEmpty(String string)
默认为 “”
1.
|
static String |
emptyToNull(String text)
空转换为 null
|
static String |
fill(String str,
char filledChar,
int len,
boolean isPre)
将已有字符串填充为规定长度,如果已有字符串超过这个长度则返回这个字符串
|
static String |
firstToLowerCase(String str)
首字母小写
|
static String |
firstToUpperCase(String str)
首字母大写
|
static List<String> |
getAllSubStrList(String text,
int minStepLen)
获取所有子字符串
比如:abc
1: a b c
2: ab bc
3: abc
最大公共子串:
https://blog.csdn.net/xiaojimanman/article/details/38924981
|
static byte[] |
getBytes(String text)
转换为 bytes
|
static byte[] |
getBytes(String text,
String charset)
转换为 bytes
|
static String |
getCamelCaseString(String inputString,
boolean firstCharacterUppercase)
获取的驼峰写法。
|
static Set<Character> |
getCharSet(String text)
获取对应的集合
|
static Character |
getFirstChar(String text)
获取第一个字符
|
static List<Integer> |
getIndexList(String string,
char symbol,
boolean ignoreDoubleQuotes)
获取字符串对应的下标信息
|
static List<Integer> |
getIndexList(String string,
String split)
获取所有符合条件的下标类表
【下标】
1:2:3:31::32:4:
[1, 3, 5, 8, 9, 12, 14]
问题:这个下标没有过滤 split。
|
static boolean |
isBlank(String str)
是否为空
|
static boolean |
isChinese(String text)
是否全部是中文
|
static boolean |
isDigit(String string)
是否全部为数字
|
static boolean |
isDigitOrLetter(String string)
是否全部为数字或者字母
|
static boolean |
isEmpty(String string)
是否为空
|
static boolean |
isEmptyJson(String json)
是否为空的 json
|
static boolean |
isEmptyTrim(String string)
是否为空-进行 trim 之后
|
static boolean |
isEnglish(String text)
是否全部是英文
|
static boolean |
isLetter(String string)
是否全部由字母组成
1.
|
static boolean |
isLowerCase(String string)
是否全部为小写
|
static boolean |
isNotBlank(String str)
是否不为空
|
static boolean |
isNotEmpty(String string)
是否为非空
|
static boolean |
isNotEmptyTrim(String string)
是否不为空-进行 trim 之后
|
static boolean |
isNotReturnLine(String line)
是否不为换行符
|
static boolean |
isNumber(String string)
是否全部为数组
|
static boolean |
isReturnLine(String line)
是否为换行符
|
static boolean |
isUpperCase(String string)
是否全部为大写
|
static String |
join(boolean[] array,
String... splitters)
数组拼接为字符串
|
static String |
join(byte[] array,
String... splitters)
数组拼接为字符串
|
static String |
join(char[] array,
String... splitters)
数组拼接为字符串
|
static <E> String |
join(Collection<E> collection)
字符串按逗号拼接拼接
|
static <E> String |
join(Collection<E> collection,
String splitter)
字符串拼接
(1) v0.1.14 将其范围扩展到对象列表
注意:如果有 null 属性,会导致直接报错。
|
static <E> String |
join(Collection<E> collection,
String splitter,
int startIndex,
int endIndex)
字符串拼接
(1) v0.1.14 将其范围扩展到对象列表
注意:如果有 null 属性,会导致直接报错。
|
static String |
join(double[] array,
String... splitters)
数组拼接为字符串
|
static String |
join(float[] array,
String... splitters)
数组拼接为字符串
|
static String |
join(int[] array,
String... splitters)
数组拼接为字符串
|
static String |
join(long[] array,
String... splitters)
数组拼接为字符串
|
static String |
join(Object... array)
将数组进行逗号连接
|
static String |
join(Object[] array,
String separator)
将数组进行连接
|
static String |
join(Object[] array,
String separator,
int startIndex,
int endIndex)
将数组进行连接
from: apache lang3
|
static String |
join(short[] array,
String... splitters)
数组拼接为字符串
|
static String |
join(String splitter,
Object... objects)
拼接
|
static String |
leftPadding(String original,
int targetLength)
左补信息
默认左补零 0
|
static String |
leftPadding(String original,
int targetLength,
char unit)
左补信息
|
static String |
linesToContent(List<String> lines)
字符串按照换行符拼接为新的内容
|
static String |
nullToDefault(CharSequence str,
String defaultStr)
如果字符串是
null,则返回指定默认字符串,否则返回字符串本身。 |
static String |
objectToString(Object object)
对象转换为字符串
1.
|
static String |
objectToString(Object object,
String defaultWhenNull)
对象转换为字符串
1.
|
static String |
packageToPath(String packageName)
包信息调整为路径信息
|
static String |
repeat(String component,
int times)
重复多少次
|
static String |
replaceAnyBlank(String string)
替换掉任意空格为空
|
static String |
replaceAnyBlank(String string,
String replacement)
替换掉任意空格
|
static String |
replaceEmoji(String text)
替換掉 emoji
|
static String |
replaceEmoji(String text,
String replacement)
替換掉 emoji
|
static String[] |
splitByAnyBlank(String string)
根据任意多的空格进行分割字符串。
|
static List<String> |
splitByIndexes(String string,
List<Integer> indexList)
根据索引下标直接拆分
|
static List<String> |
splitByLength(String text,
int limitSize)
根据长度进行文本截断
|
static List<String> |
splitStrictly(String string,
char splitUnit,
int times)
严格拆分
【传统拆分】
1:2:3:31::32:4 结果是:[1, 2, 3, 31, , 32, 4]
【严格拆分】
严格匹配 : 拆分符,如果有多个,则不进行拆分。
|
static List<String> |
splitToList(char[] chars,
char c)
拆分为列表
|
static List<String> |
splitToList(String string)
拆分为列表
|
static List<String> |
splitToList(String string,
char c)
拆分为列表
|
static List<String> |
splitToList(String string,
String splitter)
拆分为列表
|
static String[] |
splitToStringArray(String string)
拆分为字符串数组
|
static String[] |
splitToStringArray(String string,
String splitter)
拆分为字符串数组
|
static byte[] |
stringToBytes(String string)
字符串转字节数组
|
static String |
subString(String text,
int startIndex,
int length)
字符串截取
|
static List<String> |
subStringList(String string,
Collection<Integer> indexCollection,
int ignoreLength)
根据下标截取列表
【最后的截取问题】
最后构建的结果:
string=1::2::3:31:::32::4:
index=[1,4,15]
ignore=2
每次截取:
[0,1)
[1+2,4)
[15+2,]
|
static String |
subWithBytes(String text,
int bytesLen)
按照字节数的长度截断
|
static String |
subWithBytes(String text,
int bytesLen,
String charset)
按照字节数的长度截断
|
static String |
times(String single,
int times)
已过时。
|
static BigDecimal |
toBigDecimal(String text)
转换为 BigDecimal 类型
|
static BigInteger |
toBigInteger(String text)
转换为 BigInteger 类型
|
static Boolean |
toBool(String text)
转换为 boolean 类型
|
static Byte |
toByte(String text)
转换为 Byte 类型
|
static Character |
toChar(String text)
转换为 boolean 类型
|
static Character[] |
toCharacterArray(String string)
转换为数组字符
|
static List<Character> |
toCharacterList(String string)
转换为列表字符
|
static Set<Character> |
toCharSet(String string)
转换为 char set
|
static List<String> |
toCharStringList(String string)
转换为 char 字符串列表
|
static Date |
toDate(String text)
转换为 BigDecimal 类型
|
static Date |
toDate(String text,
String dateFormat)
转换为 Date 类型
|
static Double |
toDouble(String text)
转换为 Float 类型
|
static Float |
toFloat(String text)
转换为 Float 类型
|
static String |
toFullWidth(String string)
将字符串中的半角字符转为全角
|
static String |
toHalfWidth(String string)
将字符串中的全角字符转为半角
|
static Integer |
toInt(String text)
转换为 Integer 类型
|
static Long |
toLong(String text)
转换为 Long 类型
|
static Short |
toShort(String text)
转换为 Short 类型
|
static String |
toString(byte[] bytes)
转换为字符串
|
static String |
toString(byte[] bytes,
String charset)
转换为字符串
|
static String |
toString(Date date)
转换为字符串
|
static String |
toString(Date date,
String format)
转换为字符串
|
static String |
toString(Object object)
转换为字符串
|
static String |
trim(String original)
过滤掉空格
|
static String |
trimAnyBlank(String string)
过滤掉所有的空格
(1)trim
(2)移除所有的空格
|
static String |
trimAnyPunctionAndSymbol(String string)
过滤掉所有的标点符号
(1)trim
(2)移除标点符号
(3)移除 symbol
|
static String |
trimNotChinese(String string)
过滤掉非中文字符
|
static String |
underlineToCamel(String underlineStr)
下划线转驼峰命名
|
static String |
valueOf(Object object)
避免默认实现的问题
|
public static boolean isNotReturnLine(String line)
line - 内容public static boolean isReturnLine(String line)
line - 内容public static boolean isUpperCase(String string)
string - 待检验字符public static boolean isLowerCase(String string)
string - 待检验字符public static boolean containsUppercase(String string)
string - 待检验字符public static boolean containsLowercase(String string)
string - 待检验字符public static boolean isLetter(String string)
string - 字符串public static boolean isDigit(String string)
string - 字符串public static boolean isDigitOrLetter(String string)
string - 字符串public static boolean isNumber(String string)
string - 字符串public static boolean isEmpty(String string)
string - 字符串true 为空public static boolean isEmptyTrim(String string)
string - 原始字符串public static boolean isNotEmptyTrim(String string)
string - 原始字符串public static boolean isEmptyJson(String json)
json - json 信息public static boolean isNotEmpty(String string)
string - 字符串true 为非空public static boolean isBlank(String str)
str - 字符串public static boolean isNotBlank(String str)
str - 字符串public static String[] splitByAnyBlank(String string)
string - 字符串public static String trimAnyBlank(String string)
string - 原始字符串public static String replaceAnyBlank(String string, String replacement)
string - 原始字符串replacement - 待替换的文本public static String replaceAnyBlank(String string)
string - 原始字符串public static String trimAnyPunctionAndSymbol(String string)
string - 原始字符串public static String getCamelCaseString(String inputString, boolean firstCharacterUppercase)
inputString - 输入字符串firstCharacterUppercase - 首字母是否大写。public static String defaultEmpty(String string)
string - 字符串public static String join(Object... array)
array - object arraypublic static String join(Object[] array, String separator)
array - object arrayseparator - 分隔符核心实现public static String join(String splitter, Object... objects)
splitter - 拼接符objects - 结果public static String join(Object[] array, String separator, int startIndex, int endIndex)
array - object arrayseparator - 分隔符startIndex - 开始下标endIndex - 结束下标public static <E> String join(Collection<E> collection, String splitter, int startIndex, int endIndex)
E - 泛型collection - 集合列表splitter - 分隔符startIndex - 开始下标endIndex - 结束下标public static <E> String join(Collection<E> collection, String splitter)
E - 泛型collection - 集合信息splitter - 分隔符public static <E> String join(Collection<E> collection)
E - 泛型collection - 集合信息public static String camelToUnderline(String camelStr)
camelStr - 驼峰字符串public static String underlineToCamel(String underlineStr)
underlineStr - 下划线字符串public static String repeat(String component, int times)
component - 组成信息times - 重复次数public static String buildString(Object original, String middle, int prefixLength)
original - 原始对象middle - 中间隐藏信息prefixLength - 前边信息长度public static String trim(String original)
original - 原始字符串public static String nullToDefault(CharSequence str, String defaultStr)
null,则返回指定默认字符串,否则返回字符串本身。
nullToDefault(null, "default") = "default"
nullToDefault("", "default") = ""
nullToDefault(" ", "default") = " "
nullToDefault("bat", "default") = "bat"
str - 要转换的字符串defaultStr - 默认字符串public static String fill(String str, char filledChar, int len, boolean isPre)
str - 被填充的字符串filledChar - 填充的字符len - 填充长度isPre - 是否填充在前public static String objectToString(Object object, String defaultWhenNull)
Arrays.toString(Object[]) 避免打印无意义的信息(v0.1.14)object - 对象defaultWhenNull - 对象为空时的默认值public static String objectToString(Object object)
object - 对象@Deprecated public static String times(String single, int times)
single - 单个字符times - 重复次数重复public static String capitalFirst(String string)
string - 字符串public static List<String> splitStrictly(String string, char splitUnit, int times)
【严格拆分】 严格匹配 : 拆分符,如果有多个,则不进行拆分。 结果:[1, 2, 3, 31::32, 4]
实现逻辑: (1)根据 index 获取所有的下标。+length(当前步长) (2)获取当前的所有拆分下标,获取 times+1 的拆分下标 (3)从当前下标中移除 times+1 的下标。并且移除连续的信息。 连续:times+1 的下标,后续的 times 步长。如果不连续,则中断。 (4)根据过滤后的列表生成最后的结果。
string - 原始字符串splitUnit - 分隔单元times - 次数public static List<String> subStringList(String string, Collection<Integer> indexCollection, int ignoreLength)
【最后的截取问题】 最后构建的结果: string=1::2::3:31:::32::4: index=[1,4,15] ignore=2
每次截取: [0,1) [1+2,4) [15+2,]
string - 原始字符串indexCollection - 下标列表ignoreLength - 每次忽略跳过的长度。用于跳过 split 字符。public static List<Integer> getIndexList(String string, String split)
[1, 3, 5, 8, 9, 12, 14]
问题:这个下标没有过滤 split。 如果想过滤分隔符,应该如下: (0,1) (1+split.length, 3) ... 1,2,
string - 原始字符串split - 分隔字符串public static List<Integer> getIndexList(String string, char symbol, boolean ignoreDoubleQuotes)
string - 字符串symbol - 分隔符ignoreDoubleQuotes - 是否忽略双引号中的信息public static List<String> splitByIndexes(String string, List<Integer> indexList)
string - 原始字符串indexList - 结果列表public static byte[] stringToBytes(String string)
string - 字符串public static String bytesToString(byte[] bytes)
bytes - 字节数组public static String[] splitToStringArray(String string, String splitter)
string - 字符串splitter - 拆分符号public static String[] splitToStringArray(String string)
string - 字符串public static String join(byte[] array, String... splitters)
array - 数组splitters - 分隔符public static String join(char[] array, String... splitters)
array - 数组splitters - 分隔符public static String join(short[] array, String... splitters)
array - 数组splitters - 分隔符public static String join(long[] array, String... splitters)
array - 数组splitters - 分隔符public static String join(float[] array, String... splitters)
array - 数组splitters - 分隔符public static String join(double[] array, String... splitters)
array - 数组splitters - 分隔符public static String join(boolean[] array, String... splitters)
array - 数组splitters - 分隔符public static String join(int[] array, String... splitters)
array - 数组splitters - 分隔符public static List<String> splitToList(String string, String splitter)
string - 字符串splitter - 分隔符号public static List<String> splitToList(String string, char c)
string - 字符串c - 字符public static List<String> splitToList(char[] chars, char c)
chars - 字符串c - 字符public static List<String> splitToList(String string)
string - 字符串public static Character[] toCharacterArray(String string)
string - 字符串public static List<Character> toCharacterList(String string)
string - 字符串public static List<String> toCharStringList(String string)
string - 字符串public static Set<Character> toCharSet(String string)
string - 字符串public static String toHalfWidth(String string)
string - 字符串public static String toFullWidth(String string)
string - 字符串public static String trimNotChinese(String string)
string - 字符串public static String valueOf(Object object)
object - 对象默认实现会把 null 转换为 "null"public static String leftPadding(String original, int targetLength, char unit)
original - 原始字符串targetLength - 目标长度unit - 补的元素public static String leftPadding(String original, int targetLength)
original - 原始字符串targetLength - 目标长度public static Character getFirstChar(String text)
text - 文本public static String emptyToNull(String text)
text - 文本public static Boolean toBool(String text)
text - 文本public static Character toChar(String text)
text - 文本public static Double toDouble(String text)
text - 文本public static BigInteger toBigInteger(String text)
text - 文本public static BigDecimal toBigDecimal(String text)
text - 文本public static Date toDate(String text, String dateFormat)
text - 文本dateFormat - 格式化public static Date toDate(String text)
text - 文本public static String toString(Date date, String format)
date - 日期format - 格式化public static String toString(Object object)
object - 对象public static String toString(byte[] bytes, String charset)
bytes - 字节charset - 编码public static String toString(byte[] bytes)
bytes - 字节public static byte[] getBytes(String text, String charset)
text - 文本charset - 编码public static byte[] getBytes(String text)
text - 文本public static boolean isEnglish(String text)
text - 文本public static boolean isChinese(String text)
text - 文本public static String packageToPath(String packageName)
packageName - 包信息public static String subString(String text, int startIndex, int length)
text - 文本startIndex - 开始位置length - 长度public static List<String> contentToLines(String content)
content - 内容public static String linesToContent(List<String> lines)
lines - 行public static List<String> splitByLength(String text, int limitSize)
text - 文本limitSize - 限制长度public static List<String> getAllSubStrList(String text, int minStepLen)
text - 文本minStepLen - 最小步长public static String replaceEmoji(String text, String replacement)
text - 文本replacement - 替換的内容public static String replaceEmoji(String text)
text - 文本public static Set<Character> getCharSet(String text)
text - 文本public static String subWithBytes(String text, int bytesLen, String charset)
text - 文本bytesLen - 字节长度Copyright © 2024. All rights reserved.