StringUtil方法全集

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容