但行好事
莫论前程❤

java基础学习总结—-StringUtils方法详解

org.apache.commons.lang.StringUtils中方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。

除了构造器,StringUtils中一共有130多个方法,并且都是static的,

所以我们可以这样调用StringUtils.xxx()

下面分别对一些常用方法做简要介绍:

public static boolean isEmpty(String str)

判断某字符串是否为空,为空的标准是str == nullstr.length() == 0

StringUtils.isEmpty(null)     = true
StringUtils.isEmpty("")       = true
StringUtils.isEmpty(" ")      = false
StringUtils.isEmpty("        ")     = false
StringUtils.isEmpty("bob")       = false
StringUtils.isEmpty(" bob ") = false

public static boolean isNotEmpty(String str)

判断某字符串是否非空

等于!isEmpty(String str)

StringUtils.isNotEmpty(null)        = false
StringUtils.isNotEmpty("")           = false
StringUtils.isNotEmpty(" ")      = true
StringUtils.isNotEmpty("         ")    = true
StringUtils.isNotEmpty("bob")   = true
StringUtils.isNotEmpty(" bob ")   = true

public static boolean isBlank(String str)

判断某字符串是否为空或长度为0或由空白符(whitespace)构成

StringUtils.isBlank(null)         = true
StringUtils.isBlank("")            = true
StringUtils.isBlank(" ")                 = true
StringUtils.isBlank("        ")          = true
StringUtils.isBlank("\t \n \f \r")    = true
StringUtils.isBlank("\b")               = false
StringUtils.isBlank("bob")            = false
StringUtils.isBlank(" bob ")        = false

public static boolean isNotBlank(String str)

判断某字符串是否不为空且长度不为0且不由空白符(whitespace)构成,

等于!isBlank(String str)

StringUtils.isNotBlank(null)        = false
StringUtils.isNotBlank("")               = false
StringUtils.isNotBlank(" ")          = false
StringUtils.isNotBlank("         ")        = false
StringUtils.isNotBlank("\t \n \f \r")     = false
StringUtils.isNotBlank("\b")              = true
StringUtils.isNotBlank("bob")           = true
StringUtils.isNotBlank(" bob ")   = true

public static String trim(String str)

去掉字符串两端的控制符(control characters, char <= 32)

如果输入为null则返回null

StringUtils.trim(null)                = null
StringUtils.trim("")                 = ""
StringUtils.trim(" ")                          = ""
StringUtils.trim("     \b \t \n \f \r    ") = ""
StringUtils.trim("     \n\tss   \b")        = "ss"
StringUtils.trim(" d   d dd     ")     = "d   d dd"
StringUtils.trim("dd     ")            = "dd"
StringUtils.trim("     dd       ")           = "dd"

public static String strip(String str)

去掉字符串两端的空白符(whitespace),

如果输入为null则返回null

下面是示例(注意和trim()的区别):

StringUtils.strip(null)                    = null
StringUtils.strip("")                   = ""
StringUtils.strip(" ")                  = ""
StringUtils.strip("     \b \t \n \f \r    ")        = "\b"
StringUtils.strip("     \n\tss   \b")             = "ss   \b"
StringUtils.strip(" d   d dd     ")      = "d   d dd"
StringUtils.strip("dd     ")             = "dd"
StringUtils.strip("     dd       ")          = "dd"
  • 比较两个字符串是否相等,如果两个均为空则也认为相等。
public static boolean equals(String str1, String str2)
  • 比较两个字符串是否相等,不区分大小写,如果两个均为空则也认为相等。
public static boolean equalsIgnoreCase(String str1, String str2)
  • 返回字符searchChar在字符串str中第一次出现的位置。

    如果searchChar没有在str中出现则返回-1,

    如果str为null或””,则也返回-1

public static int indexOf(String str, char searchChar)
  • 返回字符searchChar从startPos开始在字符串str中第一次出现的位置。

    如果从startPos开始searchChar没有在str中出现则返回-1,

    如果str为null或””,则也返回-1

public static int indexOf(String str, char searchChar, int startPos)
public static int lastIndexOf(String str, char searchChar, int startPos)
  • 返回字符串searchStr在字符串str中第一次出现的位置。

    如果str为null或searchStr为null则返回-1,

    如果searchStr为””,且str为不为null,则返回0,

    如果searchStr不在str中,则返回-1

public static int indexOf(String str, String searchStr)
public static int lastIndexOf(String str, char searchChar)
  • 判断字符串str中是否包含字符searchChar。

    如果str为null或””,返回false;

    如果searchChar不在str中,返回false。

public static boolean contains(String str, char searchChar)
  • 判断字符串str是否包含字符串searchStr,不区分大小写。
public static boolean containsIgnoreCase(String str, String searchStr)
  • 找出字符数组searchChars中的字符第一次出现在字符串str中的位置。
public static int indexOfAny(String str, char[] searchChars)
  • 得到字符串str的子串。

    如果start小于0,位置是从后往前数的第|start|个

    如果str为null或””,则返回它本身

public static String substring(String str, int start)
  • 得到字符串str的子串。

    如果start小于0,位置是从后往前数的第|start|个,

    如果end小于0,位置是从后往前数的第|end|个,

    如果str为null或””,则返回它本身

public static String substring(String str, int start, int end)
  • 得到字符串str从右边数len长度的子串。

    如果str为null或为””,则返回它本身

    如果len小于0,则返回””

public static String right(String str, int len)
  • 得到字符串str从pos开始len长度的子串。

    如果str为null或为””,则返回它本身

    如果len小于0或pos大于srt的长度,则返回””

    如果pos小于0,则pos设为0

public static String mid(String str, int pos, int len)
  • 得到字符串str的在字符串separator出现前的字串,且separator不包括在内。

    如果str为null或为””,则返回它本身

    如果separator为null,则返回str本身

public static String substringBefore(String str, String separator)
  • 把字符串拆分成一个字符串数组,用空白符(whitespace)作为分隔符。

    Whitespace是这样定义的{@link Character#isWhitespace(char)}

    如果字符串为null,返回null

    如果字符串为””,返回空数组{}

public static String[] split(String str)
  • 把字符串拆分成一个字符串数组,用指定的字符separatorChar作为分隔符。

    如果字符串为null,返回null

    如果字符串为””,返回空数组{}

public static String[] split(String str, char separatorChar)
  • 在字符串text中用with代替repl,替换所有。
public static String replace(String text, String repl, String with)
  • 如果str为null,则返回null

    如果字符串长度小于size,则在右边补空格使其长度等于size,然后返回

    如果字符串长度大于等于size,则返回它本身

public static String rightPad(String str, int size)
// 补充字符串为padChar
public static String rightPad(String str, int size, char padChar)
赞(0) 打赏
未经允许不得转载:刘鹏博客 » java基础学习总结—-StringUtils方法详解
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏