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)
判斷某字符串是否為空,為空的標(biāo)準是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中第一次出現(xiàn)的位置。
如果searchChar沒有在str中出現(xiàn)則返回-1,
如果str為null或"",則也返回-1
public static int indexOf(String str, String searchStr, int startPos)
返回字符串searchStr從startPos開始在字符串str中第一次出現(xiàn)的位置。
舉例(*代表任意字符串):
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,位置是從后往前數(shù)的第|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,位置是從后往前數(shù)的第|start|個,
如果end小于0,位置是從后往前數(shù)的第|end|個,
如果str為null或"",則返回它本身
public static String[] split(String str)
把字符串拆分成一個字符串?dāng)?shù)組,用空白符(whitespace)作為分隔符。
Whitespace是這樣定義的{@linkCharacter#isWhitespace(char)}
如果字符串為null,返回null
如果字符串為"",返回空數(shù)組{}
舉例(*表示任意):
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)
把字符串拆分成一個字符串?dāng)?shù)組,用指定的字符separatorChar作為分隔符。
如果字符串為null,返回null
如果字符串為"",返回空數(shù)組{}
舉例(*表示任意):
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)
把數(shù)組中的元素連接成一個字符串返回,把分隔符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的長度應(yīng)該和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)
重復(fù)字符串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)
把字符串中的字符大寫轉(zhuǎn)換為小寫,小寫轉(zhuǎn)換為大寫。
舉例:
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中出現(xiàn)的次數(shù)。
如果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