类 StringUtil
- java.lang.Object
-
- me.codeplayer.util.StringUtil
-
public abstract class StringUtil extends java.lang.Object用于对字符串类型的数据进行常用处理操作的工具类- 作者:
- Ready
-
-
字段概要
字段 修饰符和类型 字段 说明 protected static char[]digits用于在2-16进制之间进行转换的映射字符数组
-
构造器概要
构造器 构造器 说明 StringUtil()
-
方法概要
所有方法 静态方法 具体方法 修饰符和类型 方法 说明 static java.lang.StringBuilderappend(java.lang.StringBuilder sb, java.lang.String... strs)拼接多个字符串(忽略其中为 null 的参数)static java.lang.Stringcapitalize(java.lang.String str)将字符串的首字母大写static java.lang.Stringconcat(java.lang.String a, java.lang.String b)拼接两个字符串(忽略其中为 null 的参数)static java.lang.Stringconcat(java.lang.String a, java.lang.String b, java.lang.String c)拼接多个字符串(忽略其中为 null 的参数)static java.lang.Stringconcats(java.lang.String... strs)拼接多个字符串(忽略其中为 null 的参数)static booleancontainsWord(java.lang.String container, java.lang.String searchedWord, java.lang.String seperatorChars)检测指定字符串中是否存在指定的单词
该方法采用快速模式,对于类似containsWord("abc123,123", "123", ",")等特殊情况无法保证100%可靠;如果想要保证可靠性,建议使用containsWord(String, String, String, boolean)static booleancontainsWord(java.lang.String container, java.lang.String search, java.lang.String seperatorChars, boolean fastMode)检测指定字符串中是否存在指定的单词static java.lang.StringconvertCharset(java.lang.String str, java.nio.charset.Charset originalCharset, java.nio.charset.Charset targetCharset)将字符串从指定字符集编码转换为目标字符集编码static java.lang.StringconvertCharsetForURI(java.lang.String str, java.nio.charset.Charset targetCharset)将指定的URI参数字符串转换为目标字符集编码
本方法实际上是将字符串从ISO-8859-1编码转换为指定的目标编码static java.lang.Stringdecapitalize(java.lang.String str)将字符串的首字母小写static booleanendsWith(java.lang.String str, char lastChar)判断指定字符串是否以指定的单个字符结尾static int[]ensureRangeSafe(int beginIndex, int endIndex, int length)确保起始和结束索引的范围边界安全,并返回范围安全的 [开始索引, 结束索引] 数组
如果索引参数为负,自动加上length,如果处理后的beginIndex > endIndex,则自动对调位置
方法起始索引或结束索引超出合理边界,方法内会尽可能地根据length进行调整:
1、如果beginIndex < -length,则beginIndex = 0
2、如果endIndex > length,则endIndex = lengthstatic java.lang.StringBuilderescape(java.lang.StringBuilder sb, java.lang.String str, char escapeChar, char[] escapedChars)使用转义字符转义字符串中指定的字符static java.lang.Stringescape(java.lang.String str, char escapeChar, char[] escapedChars)使用转义字符转义字符串中指定的字符static java.lang.StringescapeSQLLike(java.lang.String likeStr)将指定的用于LIKE语句的字符串转义,以防止SQL语句注入
该方法默认使用'\'进行转义操作static java.lang.StringBuilderescapeSQLLike(java.lang.StringBuilder sb, java.lang.String likeStr, char escapeChar, boolean appendWildcardAtStart, boolean appendWildcardAtEnd)使用指定的转义字符对用于LIKE语句的字符串进行转义,以防止SQL语句注入static java.lang.StringescapeSQLLike(java.lang.String likeStr, boolean appendLikeWildcard)将指定的用于LIKE语句的字符串转义,以防止SQL语句注入
该方法默认使用'\'进行转义操作static java.lang.StringescapeSQLLike(java.lang.String likeStr, boolean appendWildcardAtStart, boolean appendWildcardAtEnd)使用指定的转义字符对用于LIKE语句的字符串进行转义,以防止SQL语句注入static java.lang.StringescapeSQLLike(java.lang.String likeStr, char escapeChar, boolean appendWildcardAtBoth)使用指定的转义字符对用于LIKE语句的字符串进行转义,以防止SQL语句注入static java.lang.StringescapeSQLLike(java.lang.String likeStr, char escapeChar, boolean appendWildcardAtStart, boolean appendWildcardAtEnd)使用指定的转义字符对用于LIKE语句的字符串进行转义,以防止SQL语句注入static java.lang.StringfastUnicode(java.lang.String str)获取指定字符串的Unicode编码,例如:"中国"将返回"中国"
此方法返回的编码中,字母均采用大写形式,此外,由于编码的长度是已知的,本方法采用char数组作为字符容器,省略了StringBuilder追加时的长度判断以及封装损耗,性能更加优异static java.lang.StringBuildergetBuilder(int size, int shift)根据每个元素的平均大小和元素的格式创建一个适用于其容量的StringBuilder
内部采用length << shift来获取设置初始容量
并且生成的StringBuilder的最小容量为16(StringBuilder的默认容量)static java.lang.StringBuildergetBuilder(int extra, java.lang.CharSequence s1)根据将要追加的多个字符序列获得适当初始容量的StringBuilderstatic java.lang.StringBuildergetBuilder(int extra, java.lang.CharSequence s1, java.lang.CharSequence s2)根据将要追加的多个字符序列获得适当初始容量的StringBuilderstatic java.lang.StringBuildergetBuilder(int extra, java.lang.CharSequence s1, java.lang.CharSequence s2, java.lang.CharSequence s3)根据将要追加的多个字符序列获得适当初始容量的StringBuilderstatic java.lang.StringBuildergetBuilder(int extra, java.lang.CharSequence s1, java.lang.CharSequence s2, java.lang.CharSequence s3, java.lang.CharSequence s4)根据将要追加的多个字符序列获得适当初始容量的StringBuilderstatic booleanhasBlank(java.lang.Object... values)判断指定数组中是否为空的值(null、空字符串、空格字符串),如果是,将返回true
本方法接受多个参数,如果其中有任意一个为空,就返回true
本方法会去除两边的空格后再判断 如果指定的key不存在也返回truestatic booleanhasEmpty(java.lang.Object... values)判断指定数组中是否存在为空的值(null、空字符串),如果是将返回true
本方法接受多个参数,如果其中有任意一个为空,就返回true 如果指定的key不存在也返回truestatic java.lang.StringBuilderinitBuilder(java.lang.StringBuilder sb, int appendLength)初始化一个还可以添加appendLength个字符的 StringBuilderstatic booleanisAnyNotEmpty(java.lang.CharSequence... css)判断指定的字符序列数组是否存在不为空的元素
如果数组中存在不为null、空字符串的元素,则返回true,否则返回falsestatic booleanisBlank(java.lang.CharSequence str)判断指定的字符串是否为空
如果字符串为null、空字符串、空格字符串,则返回true
注意:本方法会先去除字符串两边的空格,再判断static booleanisBlank(java.lang.Object obj)判断指定的对象是否为空
如果对象(或其 toString() 返回值)为null、空字符串、空格字符串,则返回true
注意:本方法会先去除字符串两边的空格,再判断static booleanisEmpty(java.lang.CharSequence cs)判断指定的字符串是否为空
如果字符串为null、空字符串,则返回true,否则返回false
注意:本方法不会去除字符串两边的空格,如果需要对字符串进行去除两边空格后的判断,请使用isBlank(CharSequence)方法static booleanisEmpty(java.lang.Object obj)判断指定的对象是否为空
如果对象(或其 toString() 返回值)为null、空字符串,则返回true
注意:本方法不会去除字符串两边的空格,如果需要对字符串进行去除两边空格后的判断,请使用isBlank(Object obj)方法static java.lang.StringleftPad(java.lang.String str, char ch, int maxLength)如果字符串不足指定位数,则在前面补充指定的字符,直到指定位数
如果字符串=null,则返回空字符串""
如果字符串位数大于指定位数,则返回原字符串static intlength(java.lang.CharSequence cs)获取指定字符序列的字符长度static java.lang.StringlimitChars(java.lang.String str, int maxLength)如果指定字符串超过限制长度maxLength,则返回限制长度前面的部分字符串
如果指定字符串==null,则返回空字符串
如果字符串超出指定长度,则返回maxLength前面的部分,并在末尾加上后缀“...”static java.lang.StringlimitChars(java.lang.String str, int maxLength, java.lang.String suffix)如果指定字符串超过限制长度maxLength,则返回限制长度前面的部分字符串
如果指定字符串==null,则返回空字符串
如果字符串超出指定长度,则返回maxLength前面的部分,并在末尾加上后缀suffixstatic booleannotBlank(java.lang.CharSequence cs)判断指定的字符串是否不为空
如果字符串不为null、空字符串、空格字符串,则返回true,否则返回false
注意:本方法会先去除字符串两边的空格,再判断static booleannotBlank(java.lang.Object obj)判断指定的对象是否为空
如果对象(或其 toString() 返回值)不为null、空字符串、空格字符串,则返回true,否则返回false
注意:本方法会先去除字符串两边的空格,再判断static booleannotEmpty(java.lang.CharSequence cs)判断指定的字符串是否不为空
如果指定字符串不为null、空字符串,则返回true,否则返回false
注意:本方法不会去除字符串两边的空格,如果需要对字符串进行去除两边空格后的判断,请使用notBlank(CharSequence)方法static booleannotEmpty(java.lang.Object obj)判断指定的对象是否不为空
如果对象(或其 toString() 返回值)不为null、空字符串,则返回true,否则返回false
注意:本方法不会去除字符串两边的空格,如果需要对字符串进行去除两边空格后的判断,请使用isBlank(Object obj)方法static java.lang.StringnullSafeGet(java.lang.CharSequence cs)安全地获取指定字符序列中的字符串static java.lang.StringnullSafeGet(java.util.function.Supplier<? extends java.lang.CharSequence> msgSupplier)安全地执行指定的字符串懒加载表达式,并返回对应的字符串static java.lang.StringreplaceChar(java.lang.String str, int charIndex, CharConverter converter)替换字符串中指定位置的字符,并返回替换后的结果static java.lang.StringreplaceChars(java.lang.String str, char ch, int beginIndex)将指定字符串的beginIndex到末尾之间的字符全部替换为字符chstatic java.lang.StringreplaceChars(java.lang.String str, char ch, int beginIndex, int endIndex)将指定字符串的beginIndex到endIndex(不包括endIndex) 之间的字符全部替换为字符chstatic java.lang.StringreplaceSubstring(java.lang.String str, java.lang.String replacement, int beginIndex)将指定字符串的beginIndex及其后的子字符串全部替换为指定的字符串replacementstatic java.lang.StringreplaceSubstring(java.lang.String str, java.lang.String replacement, int beginIndex, int endIndex)将指定字符串的beginIndex到endIndex(不包括endIndex) 之间的子字符串全部替换为指定的字符串replacementstatic java.lang.Stringreverse(java.lang.CharSequence str)颠倒(反转)字符串的字符顺序,并返回颠倒后的字符串
如果字符串为null,则返回空字符串""static java.lang.StringrightPad(java.lang.String str, char ch, int maxLength)如果字符串不足指定位数,则在后面补充指定的字符,直到指定位数
如果字符串=null,则返回空字符串""
如果字符串位数大于指定位数,则返回原字符串static <T> java.util.List<T>split(java.lang.String str, java.lang.String sep, java.util.function.Function<? super java.lang.String,T> mapper, boolean ignoreNull)将以指定分隔字符分隔字符串,并将拆分后的每个片段文本使用指定的mapper进行转换,并返回转换后的元素集合static <T> java.util.List<T>split(java.lang.String str, java.lang.String sep, java.util.function.Function<java.lang.String,T> mapper)将以指定分隔字符分隔字符串,并将拆分后的每个片段文本使用指定的mapper进行转换,并返回转换后的元素集合static booleanstartsWith(java.lang.String str, char firstChar)判断指定字符串是否以指定的单个字符开头static java.lang.StringtoString(java.lang.Object obj)以String的形式返回对象值,如果对象为null,则返回""static java.lang.StringtoString(java.lang.Object obj, java.lang.String defaultValIfNull)以String的形式返回对象值,如果对象为null,则返回""static java.lang.Stringtrim(java.lang.Object obj)以去除两边空格的String形式返回对象值,如果对象为null,则返回""static java.lang.Stringtrim(java.lang.String str)去除字符串两侧的空白字符
如果为null则返回空字符串""static java.lang.Stringtrim4Html(java.lang.Object obj)以String的形式返回对象值,如果对象为null或空格字符串,则返回" "static java.lang.StringBuilderunescape(java.lang.StringBuilder sb, java.lang.String escapedStr, char escapeChar, char[] escapedChars)解除对使用escape(StringBuilder, String, char, char[])方法转义后的字符串的转义static java.lang.Stringunescape(java.lang.String escapedStr, char escapeChar, char[] escapedChars)解除对使用escape(StringBuilder, String, char, char[])方法转义后的字符串的转义static java.lang.Stringunicode(java.lang.String src)获取指定字符串的Unicode编码,例如:“中国”将返回“中国”
此方法返回的编码中,字母均采用大写形式,此外,本方法采用StringBuilder作为字符容器static java.lang.StringzeroFill(java.lang.String str, int maxLength)如果字符串不足指定位数,则前面补0,直到指定位数
如果字符串=null,则返回空字符串""
如果字符串位数大于指定位数,则返回原字符串
-
-
-
方法详细资料
-
unicode
public static java.lang.String unicode(java.lang.String src)
获取指定字符串的Unicode编码,例如:“中国”将返回“中国”
此方法返回的编码中,字母均采用大写形式,此外,本方法采用StringBuilder作为字符容器- 参数:
src- 指定字符串不能为 null,否则将引发空指针异常- 从以下版本开始:
- 0.0.1
-
fastUnicode
public static java.lang.String fastUnicode(java.lang.String str)
获取指定字符串的Unicode编码,例如:"中国"将返回"中国"
此方法返回的编码中,字母均采用大写形式,此外,由于编码的长度是已知的,本方法采用char数组作为字符容器,省略了StringBuilder追加时的长度判断以及封装损耗,性能更加优异- 参数:
str- 指定字符串不能为null,否则将引发空指针异常- 从以下版本开始:
- 0.0.1
-
getBuilder
public static java.lang.StringBuilder getBuilder(int size, int shift)根据每个元素的平均大小和元素的格式创建一个适用于其容量的StringBuilder
内部采用length << shift来获取设置初始容量
并且生成的StringBuilder的最小容量为16(StringBuilder的默认容量)- 参数:
size- 元素个数shift- 每个元素参与拼接的平均字符数相对于2的位移量- 从以下版本开始:
- 0.0.1
-
length
public static int length(java.lang.CharSequence cs)
获取指定字符序列的字符长度- 返回:
- 对应的字符长度,如果
cs为null,则返回 0 - 从以下版本开始:
- 0.4.2
-
getBuilder
public static java.lang.StringBuilder getBuilder(int extra, java.lang.CharSequence s1, java.lang.CharSequence s2, java.lang.CharSequence s3, java.lang.CharSequence s4)根据将要追加的多个字符序列获得适当初始容量的StringBuilder- 参数:
extra- 除指定的字符序列外应额外预留的字符容量- 从以下版本开始:
- 0.4.2
-
getBuilder
public static java.lang.StringBuilder getBuilder(int extra, java.lang.CharSequence s1, java.lang.CharSequence s2, java.lang.CharSequence s3)根据将要追加的多个字符序列获得适当初始容量的StringBuilder- 参数:
extra- 除指定的字符序列外应额外预留的字符容量- 从以下版本开始:
- 0.4.2
-
getBuilder
public static java.lang.StringBuilder getBuilder(int extra, java.lang.CharSequence s1, java.lang.CharSequence s2)根据将要追加的多个字符序列获得适当初始容量的StringBuilder- 参数:
extra- 除指定的字符序列外应额外预留的字符容量- 从以下版本开始:
- 0.4.2
-
getBuilder
public static java.lang.StringBuilder getBuilder(int extra, java.lang.CharSequence s1)根据将要追加的多个字符序列获得适当初始容量的StringBuilder- 参数:
extra- 除指定的字符序列外应额外预留的字符容量- 从以下版本开始:
- 0.4.2
-
concat
@Nullable public static java.lang.String concat(@Nullable java.lang.String a, @Nullable java.lang.String b)拼接两个字符串(忽略其中为 null 的参数)- 从以下版本开始:
- 3.0.0
-
concat
public static java.lang.String concat(@Nullable java.lang.String a, @Nullable java.lang.String b, @Nullable java.lang.String c)拼接多个字符串(忽略其中为 null 的参数)- 从以下版本开始:
- 3.0.0
-
append
public static java.lang.StringBuilder append(@Nullable java.lang.StringBuilder sb, java.lang.String... strs)拼接多个字符串(忽略其中为 null 的参数)- 从以下版本开始:
- 3.0.0
-
concats
public static java.lang.String concats(java.lang.String... strs)
拼接多个字符串(忽略其中为 null 的参数)- 从以下版本开始:
- 3.0.0
-
initBuilder
public static java.lang.StringBuilder initBuilder(@Nullable java.lang.StringBuilder sb, int appendLength)初始化一个还可以添加appendLength个字符的 StringBuilder- 参数:
sb- 如果为null,内部会自动创建appendLength- 还需要扩展的字符数- 从以下版本开始:
- 3.0.0
-
isEmpty
public static boolean isEmpty(java.lang.CharSequence cs)
判断指定的字符串是否为空
如果字符串为null、空字符串,则返回true,否则返回false
注意:本方法不会去除字符串两边的空格,如果需要对字符串进行去除两边空格后的判断,请使用isBlank(CharSequence)方法- 从以下版本开始:
- 0.0.1
-
notEmpty
public static boolean notEmpty(java.lang.CharSequence cs)
判断指定的字符串是否不为空
如果指定字符串不为null、空字符串,则返回true,否则返回false
注意:本方法不会去除字符串两边的空格,如果需要对字符串进行去除两边空格后的判断,请使用notBlank(CharSequence)方法- 从以下版本开始:
- 0.0.1
-
isAnyNotEmpty
public static boolean isAnyNotEmpty(java.lang.CharSequence... css)
判断指定的字符序列数组是否存在不为空的元素
如果数组中存在不为null、空字符串的元素,则返回true,否则返回false- 从以下版本开始:
- 1.0.2
-
isEmpty
public static boolean isEmpty(java.lang.Object obj)
判断指定的对象是否为空
如果对象(或其 toString() 返回值)为null、空字符串,则返回true
注意:本方法不会去除字符串两边的空格,如果需要对字符串进行去除两边空格后的判断,请使用isBlank(Object obj)方法- 参数:
obj- 指定的对象- 从以下版本开始:
- 0.0.1
-
notEmpty
public static boolean notEmpty(java.lang.Object obj)
判断指定的对象是否不为空
如果对象(或其 toString() 返回值)不为null、空字符串,则返回true,否则返回false
注意:本方法不会去除字符串两边的空格,如果需要对字符串进行去除两边空格后的判断,请使用isBlank(Object obj)方法- 参数:
obj- 指定的对象- 从以下版本开始:
- 0.0.1
-
hasEmpty
public static boolean hasEmpty(java.lang.Object... values)
判断指定数组中是否存在为空的值(null、空字符串),如果是将返回true
本方法接受多个参数,如果其中有任意一个为空,就返回true 如果指定的key不存在也返回true- 参数:
values- 指定的数组- 另请参阅:
isEmpty(Object)
-
isBlank
public static boolean isBlank(java.lang.CharSequence str)
判断指定的字符串是否为空
如果字符串为null、空字符串、空格字符串,则返回true
注意:本方法会先去除字符串两边的空格,再判断- 从以下版本开始:
- 0.0.1
-
notBlank
public static boolean notBlank(java.lang.CharSequence cs)
判断指定的字符串是否不为空
如果字符串不为null、空字符串、空格字符串,则返回true,否则返回false
注意:本方法会先去除字符串两边的空格,再判断- 从以下版本开始:
- 0.0.1
-
isBlank
public static boolean isBlank(java.lang.Object obj)
判断指定的对象是否为空
如果对象(或其 toString() 返回值)为null、空字符串、空格字符串,则返回true
注意:本方法会先去除字符串两边的空格,再判断- 参数:
obj- 指定的对象- 从以下版本开始:
- 0.0.1
-
notBlank
public static boolean notBlank(java.lang.Object obj)
判断指定的对象是否为空
如果对象(或其 toString() 返回值)不为null、空字符串、空格字符串,则返回true,否则返回false
注意:本方法会先去除字符串两边的空格,再判断- 参数:
obj- 指定的对象- 从以下版本开始:
- 0.0.1
-
hasBlank
public static boolean hasBlank(java.lang.Object... values)
判断指定数组中是否为空的值(null、空字符串、空格字符串),如果是,将返回true
本方法接受多个参数,如果其中有任意一个为空,就返回true
本方法会去除两边的空格后再判断 如果指定的key不存在也返回true- 参数:
values- 指定的数组- 从以下版本开始:
- 0.0.1
-
toString
public static java.lang.String toString(java.lang.Object obj)
以String的形式返回对象值,如果对象为null,则返回""- 参数:
obj- 指定的对象- 从以下版本开始:
- 0.0.1
-
nullSafeGet
@Nullable public static java.lang.String nullSafeGet(@Nullable java.util.function.Supplier<? extends java.lang.CharSequence> msgSupplier)安全地执行指定的字符串懒加载表达式,并返回对应的字符串
-
nullSafeGet
@Nullable public static java.lang.String nullSafeGet(@Nullable java.lang.CharSequence cs)安全地获取指定字符序列中的字符串- 参数:
cs- 如果该参数为 null,则返回 null
-
toString
public static java.lang.String toString(java.lang.Object obj, java.lang.String defaultValIfNull)以String的形式返回对象值,如果对象为null,则返回""- 参数:
obj- 指定的对象- 从以下版本开始:
- 0.0.1
-
trim
public static java.lang.String trim(java.lang.Object obj)
以去除两边空格的String形式返回对象值,如果对象为null,则返回""- 参数:
obj- 指定的对象- 从以下版本开始:
- 0.0.1
-
trim4Html
public static java.lang.String trim4Html(java.lang.Object obj)
以String的形式返回对象值,如果对象为null或空格字符串,则返回" "- 参数:
obj- 指定的对象- 从以下版本开始:
- 0.0.1
-
limitChars
public static java.lang.String limitChars(java.lang.String str, int maxLength, java.lang.String suffix)如果指定字符串超过限制长度maxLength,则返回限制长度前面的部分字符串
如果指定字符串==null,则返回空字符串
如果字符串超出指定长度,则返回maxLength前面的部分,并在末尾加上后缀suffix- 参数:
str- 指定的字符串maxLength- 最大限制长度suffix- 超出长度时添加的指定后缀,如果不需要,可以为null- 从以下版本开始:
- 0.0.1
-
limitChars
public static java.lang.String limitChars(java.lang.String str, int maxLength)如果指定字符串超过限制长度maxLength,则返回限制长度前面的部分字符串
如果指定字符串==null,则返回空字符串
如果字符串超出指定长度,则返回maxLength前面的部分,并在末尾加上后缀“...”- 参数:
str- 指定的字符串maxLength- 最大限制长度- 从以下版本开始:
- 0.0.1
-
zeroFill
public static java.lang.String zeroFill(java.lang.String str, int maxLength)如果字符串不足指定位数,则前面补0,直到指定位数
如果字符串=null,则返回空字符串""
如果字符串位数大于指定位数,则返回原字符串- 参数:
str- 字符串maxLength- 指定位数,不能小于1- 从以下版本开始:
- 0.0.1
-
leftPad
public static java.lang.String leftPad(java.lang.String str, char ch, int maxLength)如果字符串不足指定位数,则在前面补充指定的字符,直到指定位数
如果字符串=null,则返回空字符串""
如果字符串位数大于指定位数,则返回原字符串- 参数:
str- 字符串ch- 指定的字符maxLength- 指定位数,不能小于1- 从以下版本开始:
- 0.0.1
-
rightPad
public static java.lang.String rightPad(java.lang.String str, char ch, int maxLength)如果字符串不足指定位数,则在后面补充指定的字符,直到指定位数
如果字符串=null,则返回空字符串""
如果字符串位数大于指定位数,则返回原字符串- 参数:
str- 字符串ch- 指定的字符maxLength- 指定位数,不能小于1- 从以下版本开始:
- 0.0.1
-
trim
public static java.lang.String trim(java.lang.String str)
去除字符串两侧的空白字符
如果为null则返回空字符串""- 从以下版本开始:
- 0.0.1
-
replaceChars
public static java.lang.String replaceChars(java.lang.String str, char ch, int beginIndex, int endIndex)将指定字符串的beginIndex到endIndex(不包括endIndex) 之间的字符全部替换为字符ch- 参数:
str- 指定的字符串ch- 指定的字符beginIndex- 指定的字符串起始索引(可以为负数,表示beginIndex + str.length())endIndex- 指定的字符串结束索引(可以为负数,表示endIndex + str.length())- 从以下版本开始:
- 0.1.1
-
ensureRangeSafe
public static int[] ensureRangeSafe(int beginIndex, int endIndex, int length)确保起始和结束索引的范围边界安全,并返回范围安全的 [开始索引, 结束索引] 数组
如果索引参数为负,自动加上length,如果处理后的beginIndex > endIndex,则自动对调位置
方法起始索引或结束索引超出合理边界,方法内会尽可能地根据length进行调整:
1、如果beginIndex < -length,则beginIndex = 0
2、如果endIndex > length,则endIndex = length- 参数:
beginIndex- 起始索引endIndex- 结束索引length- 指定数组、集合或字符串的长度,不能小于0- 返回:
- 如果范围安全则返回对应的范围数组,否则返回null
- 从以下版本开始:
- 0.4.2
-
replaceChars
public static java.lang.String replaceChars(java.lang.String str, char ch, int beginIndex)将指定字符串的beginIndex到末尾之间的字符全部替换为字符ch- 参数:
str- 指定的字符串ch- 指定的字符beginIndex- 指定的字符串起始索引(可以为负数,表示beginIndex + str.length())- 从以下版本开始:
- 0.1.1
-
replaceSubstring
public static java.lang.String replaceSubstring(java.lang.String str, java.lang.String replacement, int beginIndex, int endIndex)将指定字符串的beginIndex到endIndex(不包括endIndex) 之间的子字符串全部替换为指定的字符串replacement- 参数:
str- 指定的字符串replacement- 指定的字符串beginIndex- 指定的字符串起始索引(可以为负数,表示beginIndex + str.length())endIndex- 指定的字符串结束索引(可以为负数,表示endIndex + str.length())- 从以下版本开始:
- 0.1.1
-
replaceSubstring
public static java.lang.String replaceSubstring(java.lang.String str, java.lang.String replacement, int beginIndex)将指定字符串的beginIndex及其后的子字符串全部替换为指定的字符串replacement- 参数:
str- 指定的字符串replacement- 指定的字符串beginIndex- 指定的字符串起始索引(可以为负数,表示beginIndex + str.length())- 从以下版本开始:
- 0.1.1
-
convertCharset
public static java.lang.String convertCharset(java.lang.String str, java.nio.charset.Charset originalCharset, java.nio.charset.Charset targetCharset)将字符串从指定字符集编码转换为目标字符集编码- 参数:
str- 指定的字符串originalCharset- 原始字符集编码targetCharset- 目标字符集编码- 从以下版本开始:
- 0.3.9
-
convertCharsetForURI
public static java.lang.String convertCharsetForURI(java.lang.String str, java.nio.charset.Charset targetCharset)将指定的URI参数字符串转换为目标字符集编码
本方法实际上是将字符串从ISO-8859-1编码转换为指定的目标编码- 参数:
str- 指定的URI参数字符串targetCharset- 目标字符集编码- 从以下版本开始:
- 0.3.9
-
reverse
public static java.lang.String reverse(java.lang.CharSequence str)
颠倒(反转)字符串的字符顺序,并返回颠倒后的字符串
如果字符串为null,则返回空字符串""- 参数:
str- 指定的字符串- 从以下版本开始:
- 0.0.1
-
startsWith
public static boolean startsWith(java.lang.String str, char firstChar)判断指定字符串是否以指定的单个字符开头- 参数:
str- 指定的字符串firstChar- 指定的单个字符- 从以下版本开始:
- 0.4.2
-
endsWith
public static boolean endsWith(java.lang.String str, char lastChar)判断指定字符串是否以指定的单个字符结尾- 参数:
str- 指定的字符串lastChar- 指定的单个字符- 从以下版本开始:
- 0.4.2
-
escape
public static java.lang.StringBuilder escape(@Nullable java.lang.StringBuilder sb, java.lang.String str, char escapeChar, char[] escapedChars)使用转义字符转义字符串中指定的字符- 参数:
sb- 用于字符拼接的 StringBuilderstr- 需要转义的字符串escapeChar- 转义字符escapedChars- 需要被转义的字符的数组
-
escape
public static java.lang.String escape(java.lang.String str, char escapeChar, char[] escapedChars)使用转义字符转义字符串中指定的字符- 参数:
str- 需要转义的字符串escapeChar- 转义字符escapedChars- 需要被转义的字符的数组
-
unescape
public static java.lang.StringBuilder unescape(@Nullable java.lang.StringBuilder sb, java.lang.String escapedStr, char escapeChar, char[] escapedChars)解除对使用escape(StringBuilder, String, char, char[])方法转义后的字符串的转义- 参数:
escapedStr- 被转义后的字符串escapeChar- 转义字符escapedChars- 已经被转义过的字符的数组
-
unescape
public static java.lang.String unescape(java.lang.String escapedStr, char escapeChar, char[] escapedChars)解除对使用escape(StringBuilder, String, char, char[])方法转义后的字符串的转义- 参数:
escapedStr- 被转义后的字符串escapeChar- 转义字符escapedChars- 已经被转义过的字符的数组
-
escapeSQLLike
@Nullable public static java.lang.StringBuilder escapeSQLLike(@Nullable java.lang.StringBuilder sb, java.lang.String likeStr, char escapeChar, boolean appendWildcardAtStart, boolean appendWildcardAtEnd)使用指定的转义字符对用于LIKE语句的字符串进行转义,以防止SQL语句注入- 参数:
sb- 用于拼接字符的 StringBuilder,如果为 null,则内部会在需要时自动创建likeStr- 指定的字符串escapeChar- 转义字符appendWildcardAtStart- 是否需要在字符串开头添加通配符'%'appendWildcardAtEnd- 是否需要在字符串末尾添加通配符'%'- 返回:
- 如果
sb为 null,且likeStr为空时,返回 null - 从以下版本开始:
- 3.0.0
-
escapeSQLLike
public static java.lang.String escapeSQLLike(java.lang.String likeStr, char escapeChar, boolean appendWildcardAtStart, boolean appendWildcardAtEnd)使用指定的转义字符对用于LIKE语句的字符串进行转义,以防止SQL语句注入- 参数:
likeStr- 指定的字符串escapeChar- 转义字符appendWildcardAtStart- 是否需要在字符串开头添加通配符'%'appendWildcardAtEnd- 是否需要在字符串末尾添加通配符'%'- 从以下版本开始:
- 2.9
-
escapeSQLLike
public static java.lang.String escapeSQLLike(java.lang.String likeStr, boolean appendWildcardAtStart, boolean appendWildcardAtEnd)使用指定的转义字符对用于LIKE语句的字符串进行转义,以防止SQL语句注入- 参数:
likeStr- 指定的字符串appendWildcardAtStart- 是否需要在字符串开头添加通配符'%'appendWildcardAtEnd- 是否需要在字符串末尾添加通配符'%'- 从以下版本开始:
- 2.9
-
escapeSQLLike
public static java.lang.String escapeSQLLike(java.lang.String likeStr, char escapeChar, boolean appendWildcardAtBoth)使用指定的转义字符对用于LIKE语句的字符串进行转义,以防止SQL语句注入- 参数:
likeStr- 指定的字符串escapeChar- 转义字符appendWildcardAtBoth- 是否需要在字符串两侧都添加通配符'%'- 从以下版本开始:
- 0.3.5
-
escapeSQLLike
public static java.lang.String escapeSQLLike(java.lang.String likeStr, boolean appendLikeWildcard)将指定的用于LIKE语句的字符串转义,以防止SQL语句注入
该方法默认使用'\'进行转义操作- 参数:
likeStr- 指定的字符串appendLikeWildcard- 是否需要在字符串两侧添加通配符'%'- 从以下版本开始:
- 0.3.5
-
escapeSQLLike
public static java.lang.String escapeSQLLike(java.lang.String likeStr)
将指定的用于LIKE语句的字符串转义,以防止SQL语句注入
该方法默认使用'\'进行转义操作- 参数:
likeStr- 指定的字符串- 从以下版本开始:
- 0.3.5
-
containsWord
public static boolean containsWord(java.lang.String container, java.lang.String search, java.lang.String seperatorChars, boolean fastMode)检测指定字符串中是否存在指定的单词- 参数:
container- 待检测的字符串search- 指定的单词seperatorChars- 单词两侧必须是指定的字符之一或位于字符串container的首/尾位置fastMode- 是否启用快速模式。快速模式:如果在container中第一次检索到该单词,就直接在此处进行周边字符的匹配测试,并返回测试结果。
哪怕后面还会再次出现该单词,也不再继续向后检查。请参考重载方法containsWord(String, String, String)方法上的注释- 从以下版本开始:
- 2.0.0
-
containsWord
public static boolean containsWord(java.lang.String container, java.lang.String searchedWord, java.lang.String seperatorChars)检测指定字符串中是否存在指定的单词
该方法采用快速模式,对于类似containsWord("abc123,123", "123", ",")等特殊情况无法保证100%可靠;如果想要保证可靠性,建议使用containsWord(String, String, String, boolean)- 参数:
container- 待检测的字符串searchedWord- 指定的单词seperatorChars- 单词两侧必须是指定的字符之一或位于字符串container的首/尾位置- 从以下版本开始:
- 0.4.2
- 另请参阅:
containsWord(String, String, String, boolean)
-
capitalize
public static java.lang.String capitalize(java.lang.String str)
将字符串的首字母大写
-
decapitalize
public static java.lang.String decapitalize(java.lang.String str)
将字符串的首字母小写
-
replaceChar
public static java.lang.String replaceChar(java.lang.String str, int charIndex, CharConverter converter) throws java.lang.IndexOutOfBoundsException替换字符串中指定位置的字符,并返回替换后的结果- 抛出:
java.lang.IndexOutOfBoundsException- 索引越界时会抛出该异常。不过请注意:如果str为 null 时,将直接返回 null,而不会抛出 NPE
-
split
public static <T> java.util.List<T> split(java.lang.String str, java.lang.String sep, java.util.function.Function<? super java.lang.String,T> mapper, boolean ignoreNull)将以指定分隔字符分隔字符串,并将拆分后的每个片段文本使用指定的mapper进行转换,并返回转换后的元素集合- 参数:
str- 需要被拆分的字符串sep- 分隔符mapper- 转换器ignoreNull- 是否忽略 null 值(如果为 true,则返回的集合中不会包含 null )
-
split
public static <T> java.util.List<T> split(java.lang.String str, java.lang.String sep, java.util.function.Function<java.lang.String,T> mapper)将以指定分隔字符分隔字符串,并将拆分后的每个片段文本使用指定的mapper进行转换,并返回转换后的元素集合- 参数:
str- 需要被拆分的字符串sep- 分隔符mapper- 转换器
-
-