天天看點

java stringutils api_StringUtils工具類常用api <轉>

該工具類是用于操作Java.lang.String類的。

StringUtils類與String類的差別在于:此類是null安全的,即如果輸入參數String為null,則不會抛出NullPointerException異常,代碼更健壯。

以函數isEmpty為例子:

存在字元串stringTest, 若該字元串為空,傳回

1.使用String類判斷方法為:

if(null !=stringTest){if(stringTest.isEmpty()){return true;

}

}else{return true;

該方法需要先進行非空判斷,已避免空指針。

2.使用StringUtils的判斷方法為:

if(StringUtils.isEmpty(stringTest )){return true;

}

檢視StringUtils的源碼可知:

public static booleanisEmpty(String str){return (str == null) || (str.length() == 0);

}

其相關的操作已經處理好。再檢視常見操作trim函數的源碼如下:

public staticString trim(String str){return str == null ? null: str.trim();

}

是以可知,使用StringUtils類比原始的String類更加健壯,避免空指針。

常見方法如下:

判斷函數:

1.判斷是否為空,傳回boolean:StringUtils.isEmpty(String str)

2.判斷是否非空,傳回boolean:StringUtils.isNotEmpty(String str)

3.判斷空白,傳回boolean:StringUtils.isBlank(String str)

4.判斷非空白,傳回boolean:StringUtils.isNotBlank(String str)

5.判斷是否存在空白(數組),傳回boolean:StringUtils.isAnyBlank(CharSequence… css)

6.判斷是否存在空(數組),傳回boolean:StringUtils.isAnyEmpty(CharSequence… css)

7.判斷不存在空白(數組),傳回boolean:StringUtils.isNoneBlank(CharSequence… css)

8.判斷不存在空(數組),傳回boolean:StringUtils.isNoneEmpty(CharSequence… css)

9.判斷是否空白,傳回boolean:StringUtils.isWhitespace(CharSequence cs)

大小寫函數:

1.首字母大寫,傳回String:

StringUtils.capitalize(String str)

2.首字母小寫,傳回String:

StringUtils.uncapitalize(String str)

3.全部大寫,傳回String:

StringUtils.upperCase(String str)

4.全部小寫,傳回String:

StringUtils.lowerCase(String str)

5.大小寫互相轉化,傳回String:

StringUtils.swapCase(String str)

6.判斷是否全大寫,傳回boolean:

StringUtils.isAllUpperCase(CharSequence cs)

7.判斷是否全小寫,傳回boolean:

StringUtils.isAllLowerCase(CharSequence cs)

删除函數:

1.從字元串中删除某字元,傳回String:

StringUtils.remove(String str, char remove)

2.從字元串中删除字元串,傳回String:

StringUtils.remove(String str, String remove)

3.删除結尾比對的字元串,傳回String:

StringUtils.removeEnd(String str, String remove)

4.删除結尾比對的字元串,忽略大小寫,傳回String:

StringUtils.removeEndIgnoreCase(String str, String remove)

5.正規表達式删除字元串,傳回String:

StringUtils.removePattern(String source, String regex)

6.删除開頭比對的字元串,傳回String:

StringUtils.removeStart(String str, String remove)

StringUtils.removeStartIgnoreCase(String str, String remove)

7.删除所有空格,包括中間,傳回String:

StringUtils.deleteWhitespace(String str)

字元替換函數:

1.用replacement替換searchString字元串,傳回String;

max表示替換個數,預設全替換,為-1,可不填。0表示不換。其他表示從頭開始替換n個

StringUtils.replace(String text, String searchString, String replacement, int max)

2.僅替換一個,從頭開始,傳回String:

StringUtils.replaceOnce(String text, String searchString, String replacement)

3.多個替換, searchList與replacementList需一一對應,傳回String:

StringUtils.replaceEach(String text, String[] searchList, String[] replacementList)

4.多個循環替換,searchList與replacementList需一一對應,傳回String:

StringUtils.replaceEachRepeatedly(String text, String[] searchList, String[] replacementList)

5.替換start到end的字元,傳回String:

StringUtils.overlay(String str,String overlay,int start,int end)

拆分合并函數:

1.特定符号分割字元串,預設為空格,可不填,傳回字元數組:

StringUtils.split(String str)

2.特定符合分割字元串為長度為n的字元數組,n為0,表示全拆,傳回字元數組:StringUtils.split(String str, String separatorChars, int n)

3.合并函數,數組合并為字元串:

StringUtils.join(byte[] array,char separator)

4. 合并函數,separator為合并字元,當為null時,表示簡單合并,亦可不填;startIndex和endIndex表示合并數組該下标間的字元,使用separator字元,亦可不填,表示全合并。

StringUtils.join(Object[] array,char separator,int startIndex,int endIndex)

截取函數

1.截取字元串,傳回String:

StringUtils.substring(String str,int start)

2.從某字元後字元開始截取,傳回String:

StringUtils.substringAfter(String str,String separator)

3.截取至最後一處該字元出現,傳回String:

StringUtils.substringBeforeLast(String str,String separator)

4.從第一次該字元出現後截取,傳回String:

StringUtils.substringAfterLast(String str,String separator)

5.截取某字元中間的子字元串,傳回String:

StringUtils.substringBetween(String str,String tag)

删除空白函數

1.删除空格,傳回String:

StringUtils.trim(String str)

2.轉換空格為empty,傳回String:

StringUtils.trimToEmpty(String str)

3.轉換空格為null,傳回String:

StringUtils.trimToNull(String str)

4.删除所有空格,包括字元串中間空格,傳回String:

StringUtils.deleteWhitespace(String str)

判斷是否相等函數

1.判斷是否相等,傳回boolean:

StringUtils.equals(CharSequence cs1,CharSequence cs2)

2…判斷是否相等,忽略大小寫,傳回boolean:

StringUtils.equalsIgnoreCase(CharSequence cs1,CharSequence cs2)

是否包含函數

1.判斷第一個參數字元串,是否都出參數2中,傳回boolean:

StringUtils.containsOnly(CharSequence cs,char… valid)

2.判斷字元串中所有字元,都不在參數2中,傳回boolean:

StringUtils.containsNone(CharSequence cs,char… searchChars)

3.判斷字元串是否以第二個參數開始,傳回boolean:

StringUtils.startsWith(CharSequence str,CharSequence prefix)

3.判斷字元串是否以第二個參數開始,忽略大小寫,傳回boolean:

StringUtils.startsWithIgnoreCase(CharSequence str,CharSequence prefix)

---------------分割線---------------

1.isEmpty(String str) 是否為空,空格字元為false

2.isNotEmpty(String str) 是否為非空,空格字元為true

3.isBlank(String str) 是否為空,空格字元為true

4.isNotBlank(String str) 是否為非空,空格字元為false

5.trim(String str)去除字元串兩端的控制符,空字元串、null 傳回 null

6.trimToEmpty(String str) 去除字元串兩端的控制符,空字元串、null 傳回""

7.stripToNull(String str) 去除字元串兩端的空白符,空字元串、null 傳回null

8.stripToEmpty(String str) 去除字元串兩端的空白符,空字元串、null 傳回""

9.strip(String str, String stripChars) 去掉str兩端的在stripChars中的字元

10.StringUtils.strip("000000134_76539000","0")="134_76539"

11.stripStart (String str,String stripChars) 去除str 前端在stripChars中的字元

12.stripEnd (String str,String stripChars) 去除str 後端在stripChars中的字元

13.equals(String str1,String str2) 比較兩個字元串是否相等,如果兩個均為空則認為相等

14.indexOf(String str,char searchChar) 傳回searchChar 在字元串中第一次出現的位置,如果沒找到則傳回 -1,如果str 為null 或者 "",也傳回-1

15.indexOf(String str,char searchChar,int startPos) 傳回字元searchChar從startPos開始在字元串str中第一次出現的位置。

16.contains(String str,char searchChar) str中是否包含字元searchChar,str為null 或者 searchChar為null,傳回false 。

17.StringUtils.contains("", "")  = true

18.StringUtils.contains("dfg", "")  = true

19.containsIgnoreCase(String str,String searchStr) str中是否包含字元searchChar,不區分大小寫

20.int indexOfAny(String str, char[] searchChars) 找出字元數組searchChars中的字元第一次出現在字元串str中的位置。 如果字元數組中的字元都不在字元串中,則傳回-1 ,如果字元串為null或"",則傳回-1

21.subString(String str,int start) 從start 開始,包含start 那個字元,得到字元串str 的子串,如果start為負數,則從後面開始數起。如果str 為null 或者 "" 則傳回其本身

22.subStringBefore(String str,String separator) 得到字元串separator第一次出現前的子串。不包含那個字元,如果str 為null 或者 "" 則傳回其本身。

23.subStringAfter(String str,String separator) 得到字元串separator第一次出現後的子串,不包含那個字元,如果 str 為null,或者"",則傳回其本身

24.subString(String str,int start,int end) 同上

25.left(String str,int len) 得到字元串str從左邊數len長度的子串,如果str 為null 或者 "",則傳回其本身,如果len小于0,則傳回""

26.right(String str,int len)得到字元串str從右邊數len長度的子串

27.mid(String str,int pos,int len) 得到字元串str從pos開始len長度的子串,pos小于0,則設為0。

28.split(String str) 把字元串拆分成一個字元串數組,用空白符 作為分隔符,字元串為null 傳回null,字元串為"",傳回空數組{}

29.split(String str,char c) 按照 char c 拆分字元串

30.join(Object[] arrey)把數組中的元素連接配接成一個字元串傳回

31.join(Object[] arrey,char c) 把數組中的元素拼接成一個字元串傳回,把分隔符 c 也帶上

32.deleteWhitespace(String str) 删除字元串中的所有空白符,包括轉義字元

33.removeStart(String str,String remove) 如果字元串str是以remove開始,則去掉這個開始,然後傳回,否則傳回原來的串

34.removeEnd(String str,String remove) 如果字元串str是以字元串remove結尾,則去掉這個結尾,然後傳回,否則傳回原來的串。

35.remove(String str,char remove) 去掉字元串str中所有包含remove的部分,然後傳回

36.replace(String str,String reql,String with) 在字元串text中用with代替repl,替換所有

37.replaceChars(String str,char old,char new) 在字元串中 new 字元代替 old 字元

38.public static String replaceChars(String str, String searchChars, String replaceChars)

39.StringUtils.replaceChars("asssdf","s","yyy"))    =    "ayyydf"

40.StringUtils.replaceChars("asdf","sd","y"))        = "ayf"

41.StringUtils.replaceChars("assssddddf","sd","y"))= "ayyyyf"

42.overlay(String str,String new,int start,int end) 用字元串new 覆寫字元串str從start 到 end 之間的串

43.chop(String str) 去掉字元串的最後一個字元,比如/r/n

44.repeat(String str,int repart) 重複字元串repeat次

45.rightPad(String str,int size,String padStr) size長度的字元串,如果不夠用padStr補齊

46.leftPad(String str,int size,String padStr)同上

47.center(String str,int size)産生一個字元串,長度等于size,str位于新串的中心

48.swapCase(String str) 字元串中的大寫轉小寫,小寫轉換為大寫

原創連接配接:https://blog.csdn.net/diypp2012/article/details/82971716

:https://blog.csdn.net/hj7jay/article/details/75461367