org.apache.commons.lang.StringUtils中方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充。
import org.apache.commons.lang.StringUtils;
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
public static boolean isEmpty(String str)
判断某字符串是否为空,为空的标准是str == null 或 str.length() == 0
下面是示例:
StringUtils.isEmpty(null)= true
StringUtils.isEmpty("")= true
StringUtils.isEmpty(" ")= false
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("bob") = false
public static String trim(String str)
去掉字符串两端的控制符(control characters, char <= 32)
如果输入为null则返回null
public static String strip(String str)
去掉字符串两端的空白符(whitespace),
如果输入为null则返回null
public static String strip(String str, String stripChars)
去掉str两端的在stripChars中的字符。
如果str为null或等于"",则返回它本身;
如果stripChars为null或"",则返回strip(String str)。
public static boolean equals(String str1, String str2)
比较两个字符串是否相等,如果两个均为空则也认为相等。
public static int indexOf(String str, char searchChar)
返回字符searchChar在字符串str中第一次出现的位置。
如果searchChar没有在str中出现则返回-1,
如果str为null或"",则也返回-1
public static int indexOf(String str, String searchStr, int startPos)
返回字符串searchStr从startPos开始在字符串str中第一次出现的位置。
举例(*代表任意字符串):
StringUtils.indexOf(null, *, *)= -1
StringUtils.indexOf(*, null, *)= -1
StringUtils.indexOf("", "", 0)= 0
StringUtils.indexOf("aabaabaa", "a", 0) = 0
StringUtils.indexOf("aabaabaa", "b", 0) = 2
StringUtils.indexOf("aabaabaa", "ab", 0) = 1
StringUtils.indexOf("aabaabaa", "b", 3) = 5
StringUtils.indexOf("aabaabaa", "b", 9) = -1
StringUtils.indexOf("aabaabaa", "b", -1) = 2
StringUtils.indexOf("aabaabaa", "", 2)= 2
StringUtils.indexOf("abc", "", 9)= 3
public static boolean contains(String str, String searchStr)
判断字符串str是否包含字符串searchStr。
如果str为null或searchStr为null,返回false;
如果str为"",并且searchStr为"",返回true
举例:
StringUtils.contains("", "")= true
StringUtils.contains("dfg", "")= true
StringUtils.contains("dfg", "d")= true
StringUtils.contains("dfg", "gz") = false
public static String substring(String str, int start)
得到字符串str的子串。
如果start小于0,位置是从后往前数的第|start|个
如果str为null或"",则返回它本身
举例(*表示任意):
StringUtils.substring(null, *)= null
StringUtils.substring("", *)= ""
StringUtils.substring("asdf", 0)) = "asdf"
StringUtils.substring("asdf", 1)) = "sdf"
StringUtils.substring("asdf", 3)) = "f"
StringUtils.substring("asdf",) = ""
StringUtils.substring("asdf", -1)) = "f"
StringUtils.substring("asdf", -3)) = "sdf"
StringUtils.substring("asdf", -8)) = "asdf"
public static String substring(String str, int start, int end)
得到字符串str的子串。
如果start小于0,位置是从后往前数的第|start|个,
如果end小于0,位置是从后往前数的第|end|个,
如果str为null或"",则返回它本身
public static String[] split(String str)
把字符串拆分成一个字符串数组,用空白符(whitespace)作为分隔符。
Whitespace是这样定义的{@linkCharacter#isWhitespace(char)}
如果字符串为null,返回null
如果字符串为"",返回空数组{}
举例(*表示任意):
StringUtils.split(null)= null
StringUtils.split("")= {}
StringUtils.split("as dfyy"))= {"as","df","yy"}
StringUtils.split(" as dfyy "))= {"as","df","yy"}
StringUtils.split("as\ndf\ryy"))= {"as","df","yy"}
StringUtils.split("as\tdf\fyy"))= {"as","df","yy"}
StringUtils.split("asdf \fyy"))= {"as","df","yy"}
StringUtils.split("as\t \r df \f \n yy")) = {"as","df","yy"}
StringUtils.split("as"))= {"as"}
StringUtils.split(" as "))= {"as"}
public static String[] split(String str, char separatorChar)
把字符串拆分成一个字符串数组,用指定的字符separatorChar作为分隔符。
如果字符串为null,返回null
如果字符串为"",返回空数组{}
举例(*表示任意):
StringUtils.split(null, *)= null
StringUtils.split("", *)= {}
StringUtils.split("as df yy",' '))= {"as","df","yy"}
StringUtils.split(" as df yy ",' ')) = {"as","df","yy"}
StringUtils.split("asodfoyy",'o'))= {"as","df","yy"}
StringUtils.split("as.df.yy",'.'))= {"as","df","yy"}
StringUtils.split("as\ndf\nyy",'\n'))= {"as","df","yy"}
StringUtils.split("as",' '))= {"as"}
StringUtils.split(" as ",' '))= {"as"}
.public static String join(Object[] array, char separator)
把数组中的元素连接成一个字符串返回,把分隔符separator也加上。
举例(*表示任意):
StringUtils.join(null, *)= null
StringUtils.join({}, *)= ""
StringUtils.join({null}, *)= ""
StringUtils.join({"as","df","gh","jk"},' '))= "as df gh jk"
StringUtils.join({"as","df","gh","jk"},'.'))= "as.df.gh.jk"
StringUtils.join({"as","","df","gh"},'.'))= "as..df.gh"
StringUtils.join({"","as","","","df","",""},','))= ",as,,,df,,"
StringUtils.join({"","as","","","df","",""},' '))= " asdf "
StringUtils.join({"as.df.gh"},'.'))= "as.df.gh"
StringUtils.join({"as.df.gh"},' '))= "as.df.gh"
public static String replaceChars(String str, String searchChars, String replaceChars)
用replaceChars代替str中的searchChars。
replaceChars的长度应该和searchChars的长度相等,
如果replaceChars的长度大于searchChars的长度,超过长度的字符将被忽略,
如果replaceChars的长度小于searchChars的长度,超过长度的字符将被删除。
举例(*表示任意):
StringUtils.replaceChars(null, *, *)= null
StringUtils.replaceChars("", *, *)= ""
StringUtils.replaceChars("asdf", null, *)= "asdf"
StringUtils.replaceChars("asdf", "", *)= "asdf"
StringUtils.replaceChars("asdf","s",null))= "adf"
StringUtils.replaceChars("asdf","s",""))= "adf"
StringUtils.replaceChars("asdsfsg","s","y"))= "aydyfyg"
StringUtils.replaceChars("asdf","sd","yy"))="ayyf"
StringUtils.replaceChars("asdf","sd","yyy"))="ayyf"
StringUtils.replaceChars("asssdf","s","yyy"))="ayyydf"
StringUtils.replaceChars("asdf","sd","y"))= "ayf"
StringUtils.replaceChars("assssddddf","sd","y"))= "ayyyyf"
public static String repeat(String str, int repeat)
重复字符串repeat次,组合成一个新串返回。
如果字符串str为null或"",则返回它本身
如果repeat小于0,则返回""
举例(*表示任意):
StringUtils.repeat(null, *) = null
StringUtils.repeat("", *)= ""
StringUtils.repeat("a", 3) = "aaa"
StringUtils.repeat("ab", 2) = "abab"
StringUtils.repeat("a", -2) = ""
public static String swapCase(String str)
把字符串中的字符大写转换为小写,小写转换为大写。
举例:
StringUtils.swapCase(null)= null
StringUtils.swapCase("")= ""
StringUtils.swapCase("Hello Boys")) = "hELLO bOYS"
StringUtils.swapCase("I am 11"))="i AM 11"
.public static int countMatches(String str, String sub)
计算字符串sub在字符串str中出现的次数。
如果str为null或"",则返回0
举例(*表示任意):
StringUtils.countMatches(null, *)= 0
StringUtils.countMatches("", *)= 0
StringUtils.countMatches("asdf","as"))= 1
StringUtils.countMatches("asdfas","as")) = 2
StringUtils.countMatches("dfgh","as"))= 0
StringUtils.countMatches("as",""))= 0
StringUtils.countMatches("as",null))= 0